本文地址:http://blog.csdn.net/huhui_cs/article/details/9990157
1.前言
本文描述的是如何使用3台Hadoop节点搭建一个集群。本文中,使用的是三个Ubuntu虚拟机,并没有使用三台物理机。在使用物理机搭建Hadoop集群的时候,也可以参考本文。首先这3个节点要保证能相互连通,本文中,3个虚拟机的ip地址如下:
Master | 192.168.21.130 |
Slaver1 | 192.168.21.131 |
Slaver2 | 192.168.21.132 |
hadoop-1.4.0下载地址:
http://download.csdn.net/detail/huhui_bj/6028891
注:3个节点必须使用相同的用户名运行Hadoop,本文使用的用户名都是hadoop
2.安装过程
2.1各节点分别安装Hadoop
前面已经说过,在集群的各个结点,分别安装单机版Hadoop,这是第一步。如果你会写shell脚本,那么就可以写一个安装Hadoop的shell脚本,在各个节点分别运行这个脚本文件,那么hadoop就安装好了。
2.2修改配置文件
a. 需要在Master节点的/etc/hostname文件中修改主机名:
sudo gedit /etc/hostname
这里多说一句,可以使用hostname命令,查看当前节点的主机名是否修改成功。然后需要在Slaver1和Slaver2中修改hostname,分别改成Slaver1和Slaver2。
b. 在/etc/hosts中配置主机名和IP地址的对应关系:
sudo gedit /etc/hosts
以下为hosts的标准格式,如果有多余的行,要将其删除,不然在live nodes中可能显示为0。
127.0.0.1 localhost
192.168.21.130 Master
192.168.21.131 Slaver1
192.168.21.132 Slaver2
修改好了以后,在Master端,可以使用ping命令,验证你的修改:
ping Master
如果能ping通,那么说明你目前的配置是正常的。继续下一步。
c. 在Slaver1节点和Slaver2节点,配置hostname和hosts,方法与步骤b中的相同
也就是说,在Slaver1和Slaver2中,都需要在hosts文件中配置Master、Slaver1和Slaver2的ip对应关系,验证是否配置成功,可以使用ping命令。
d. 现在需要将Master节点的.ssh目录下的id_rsa.pub文件拷贝到Slaver1和Slaver2节点的.ssh目录下,进入Master节点的.ssh目录下,执行命令:
scp id_rsa.pub Slaver1:~/.ssh
scp id_rsa.pub Slaver2:~/.ssh
e. 拷贝文件结束之后,ssh登录Slaver1和Slaver2节点,将刚才拷过来的文件,放入.ssh文件夹下的authorized_keys文件中:
cat id_rsa.pub>>authorized_keys
这个时候,我们在Master节点ssh的登录Slaver1和Slaver2节点的时候,就不需要再输入密码了。这一点很重要,
f. 这一步很关键,需要将Slaver1和Slaver2的hadoop配置文件修改。修改Slaver的hadoop目录下的conf下的core-site.xml和mapred-site.xml文件,将其指向Master
hdfs://Master:9000
Master:9001
常用命令:
①关闭hdfs的safemode模式
bin/hadoop dfsadmin -safemode leave
②检查防火墙是否关闭
ufw status(ubuntu)
③关闭防火墙
ufw disable (ubuntu) centos: service iptables stop 停止 service iptables start 启动