文档章节

[虚拟机VM][Ubuntu12.04]搭建Hadoop完全分布式环境(一)

javaer
 javaer
发布于 2017/07/22 17:26
字数 1564
阅读 40
收藏 2

前言

大家都知道,Hadoop的部署方式可分为

  • 单机模式
  • 伪分布式
  • 完全分布式

本篇主要讲解的就是完全分布式。

搭建完全分布式的集群环境,需要多台的硬件设备,作为初学者,为了搭建集群去买多台电脑,多少有点不现实,所以这里我采用的是VM虚拟机,模拟搭建一个由三台机器组成的集群。

要想成功搭建hadoop的分布式环境,需要具备安装和操作VM虚拟机,使用Ubuntu系统的基本命令,Linux下安装Java以及Hadoop等相关技能。不过不会的话,也不用太担心,我会尽量把我的操作过程写得详细一点。

具体的搭建过程可以分为以下几个阶段:

  • 安装虚拟机
  • 安装和配置Ubuntu
  • 安装和配置Java环境
  • 安装和配置Hadoop

安装虚拟机

VMware Workstation 12 Pro 
链接:http://pan.baidu.com/s/1c2swwTU 密码:w0tv 
激活码百度一搜一大堆,这里就不写了,安装过程也比较简单,实在不会的,百度上也有图解的教程,请自行搜索。

安装和配置Ubuntu

Ubuntu 12.04 desktop 版,有图形界面 
链接:http://pan.baidu.com/s/1hs0vKwc 密码:i4mr

下面介绍如何在虚拟机中安装Ubuntu操作系统,我们需要安装三台虚拟机,分别命名为Hadoop Master(以下简称master),Hadoop Slave1(以下简称slave1)和Hadoop Slave2(以下简称slave2),以下以安装master为例

1、首先,打开安装好的虚拟机VMware Workstation 12 Pro(以下简称VM) 
这里写图片描述

2、依次点击 文件 → 新建虚拟机 
这里写图片描述

3、选择 自定义(高级)(C),点击 下一步 
这里写图片描述

4、硬件的兼容性选择,使用默认的设置,直接点击 下一步 
这里写图片描述

5、点击 浏览,选择下载好的Ubuntu的iso文件,点击 下一步 
这里写图片描述

6、填写安装信息,点击 下一步 
这里写图片描述

7、命名虚拟机,为了方便我们后续识别,安装第一个系统时,我们命名使用Hadoop Master(当我们安装第二个和第三个系统时分别使用Hadoop Slave1Hadoop Slave2,用于表示第一个是主服务器,第二个和第三个属于从服务器),点击浏览,选择一个本机的空间稍微大一点的目录用于存放我们安装系统的物理文件,点击 下一步 
这里写图片描述

8、处理器配置,根据自己机器的CPU情况来设置,比如我的是四核的,处理器数量就选择4,处理器的核心数量使用默认的1就行,点击 下一步 
这里写图片描述

9、设置内存,注意,必须是4MB的倍数,根据自己机器的内存来设置。比如,我的PC主机内存是8G,我为每台虚拟机设置1.5G(1536MB)的内存,主机剩余3.5G内存,这样主机不卡,虚拟机内存也足够使用。原则上说,给虚拟机设置的内存总和不要超过PC主机的物理内存就行,只不过设置太高,主机就会变慢。 
这里写图片描述

10、网络类型,这里选择使用桥接网络,因为我们需要主机与虚拟机与互联网,这三者都是通的,在安装的过程中,才不会遇到麻烦。 
这里写图片描述

11、I/O控制器和磁盘类型,都使用默认的选项即可,点击 下一步 
这里写图片描述 
这里写图片描述

12、选择磁盘,选择创建新的虚拟磁盘,点击 下一步 
这里写图片描述

13、指定磁盘容量,也就是设置虚拟机系统占用主机的物理空间的大小,使用默认值即可。 
这里写图片描述

14、指定磁盘文件,默认即可,点击 下一步 
这里写图片描述

15、点击 完成,等待虚拟机系统安装完成,安装过程中,请保持网络畅通。

16、同理,安装另外两台虚拟机Hadoop Slave1Hadoop Slave2,都安装好后,如下图 
这里写图片描述

17、分别设置每台虚拟机的固定IP,保证虚拟机与虚拟机与主机之间都能够相互ping通。具体操作这里就不赘述了,网上资料有很多,如果是公司电脑,让网络管理员帮忙设置下,如果是自己的机器,看下自己的路由器的IP分配情况 
这里写图片描述

18、我们要搭建一个由三台机器组成的集群,先配置虚拟机的hostshostname,以便虚拟机与虚拟机与主机之间不用使用IP,使用hostname就可以相互识别,很方便。

192.168.8.230    master
192.168.8.231    slave1
192.168.8.232    slave2

以master为例,通过命令:

hadoop@master:~$ sudo vi /etc/hostname

设置为master,另外两台虚拟机分别设置为slave1slave2 
这里写图片描述

hadoop@master:~$ sudo vi /etc/hosts

三台虚拟机都设置成以下的配置 
这里写图片描述

19、配置三台虚拟机之间的SSH无密码登录

安装sshd

sudo apt-get install openssh-server

首先通过命令生成公匙:

hadoop@master:~$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

这里写图片描述

将公匙添加到authorized_keys文件中:

hadoop@master:~$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

这样,localhost就可以无密码登录了,看下效果:

hadoop@master:~$ ssh localhost
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-123-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

722 packages can be updated.
356 updates are security updates.

New release '14.04.5 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Last login: Tue Mar  7 14:40:15 2017 from slave1
hadoop@master:~$

同理,将公匙复制到slave1slave2authorized_keys文件中,就可以让master无密码登录slave1slave2了。

通过命令远程复制:

hadoop@master:~$ scp ~/.ssh/id_dsa.pub hadoop@slave1:~/
hadoop@master:~$ scp ~/.ssh/id_dsa.pub hadoop@slave2:~/

这里写图片描述

分别到slave1slave2机器上,添加master的公匙信息到authorized_keys文件中:

hadoop@slave1:~$ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys
hadoop@slave2:~$ cat ~/id_dsa.pub >> ~/.ssh/authorized_keys

master上,测试一下效果: 
这里写图片描述

同理:

  • slave1生成公匙,然后复制到masterslave2authorized_keys文件中,这样slave1就可以无密码登录masterslave2
  • slave2生成公匙,然后复制到masterslave1authorized_keys文件中,这样slave2就可以无密码登录masterslave1

以上就是三台虚拟机的SSH无密码登录配置方法,大家可以根据实际的使用情况来设置,并不一定非要三台都支持双向的无密码登录。

本文转载自:http://blog.csdn.net/downing114/article/details/60956979

共有 人打赏支持
javaer
粉丝 22
博文 63
码字总数 7899
作品 0
太原
程序员
[虚拟机VM][Ubuntu12.04]搭建Hadoop完全分布式环境(三)(终篇)

接前两篇,这是最终篇,前面的准备工作都完成了之后,我们开始安装和部署 安装和配置Hadoop hadoop-2.2.0x64.tar.gz 链接:http://pan.baidu.com/s/1boSGvrp 密码:559o 集群中每台机器的配置...

javaer
2017/07/25
28
0
超详细hadoop发行版安装教程(附图文步骤)

在前几篇的文章中分别就虚拟系统安装、LINUX系统安装以及hadoop运行服务器的设置等内容写了详细的操作教程,本篇分享的是hadoop的下载安装步骤。在此之前有必要做一个简单的说明:分享的所有...

左手的倒影
08/03
0
0
Hadoop环境搭建及相关组件的工作流程介绍

1前言 本篇博客主要是记录Hadoop环境配置包括单机伪分布环境搭建,分布式环境搭建和Hadoop相关组件的工作流程介绍,包括HDFS读写流程,YARN的资源调度流程,MapReduce工作流程。 建议先理解各...

u014732537
05/24
0
0
(第2篇)一篇文章教你轻松安装hadoop

如果你看了我的上一篇文章,那此时你对hadoop已经有了一个大概的了解,那接下来这篇文章就教大家怎么安装hadoop环境,只要你用心,仔细的跟着文章中讲到的做,肯定能正确安装。 安装hadoop环...

I加加
2017/03/06
0
0
(第2篇)一篇文章教你轻松安装hadoop

点击链接 https://my.oschina.net/ijj/blog 关注我的博客。学习更多hadoop知识。 如果你看了我的上一篇文章,那此时你对hadoop已经有了一个大概的了解,那接下来这篇文章就教大家怎么安装had...

隐姓埋名啊
2017/03/17
180
0

没有更多内容

加载失败,请刷新页面

加载更多

win32截屏并rgb24转yuv420

//最终f的内存布局为BGRA格式,需要保证buf长度足够(>w*h*4)void ScreenCap(void* buf, int w, int h){ HWND hDesk = GetDesktopWindow(); HDC hScreen = GetDC(hDesk); ......

styleman
47分钟前
1
0
php输出mysql取出的中文为??的问题

解决方法: @ $db=new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_DB); $db->query("set names utf8");//添加此语句,可以解决问题...

Aomo
58分钟前
1
2
白话SpringCloud | 第五章:服务容错保护(Hystrix)

前言 前一章节,我们知道了如何利用RestTemplate+Ribbon和Feign的方式进行服务的调用。在微服务架构中,一个服务可能会调用很多的其他微服务应用,虽然做了多集群部署,但可能还会存在诸如网...

oKong
今天
2
0
【解惑】领略Java内部类的“内部”

内部类有两种情况: (1) 在类中定义一个类(私有内部类,静态内部类) (2) 在方法中定义一个类(局部内部类,匿名内部类) 1、私有内部类 —— 在方法之间定义的内部类,非静态 我们首先看看类中...

偶尔诗文
今天
1
0
sqlserver 2008 r2 直接下载地址(百度云)

之前下载的sqlserver2008发现不能附加,就卸载了,重新找到了sqlserver2008R2的百度云资源 卸载sqlserver2008还是有点麻烦,不过就是需要删除注册表中的信息 自己来回卸载了3次终于重装sqlse...

dillonxiao
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部