Linux下搭建Hadoop集群

时间:2024-01-17 21:52:56

本文地址:

1.前言

本文描述的是如何使用3台Hadoop节点搭建一个集群。本文中,使用的是三个Ubuntu虚拟机,并没有使用三台物理机。在使用物理机搭建Hadoop集群的时候,也可以参考本文。首先这3个节点要保证能相互连通,本文中,3个虚拟机的ip地址如下:
Master 192.168.21.130
Slaver1 192.168.21.131
Slaver2 192.168.21.132

这三个节点都要先按照好单机版的Hadoop环境,如果安装,请参考我之前写的一篇文章: http://blog.csdn.net/huhui_cs/article/details/8909415

注:3个节点必须使用相同的用户名运行Hadoop,本文使用的用户名都是hadoop

2.安装过程

2.1各节点分别安装Hadoop

前面已经说过,在集群的各个结点,分别安装单机版Hadoop,这是第一步。如果你会写shell脚本,那么就可以写一个安装Hadoop的shell脚本,在各个节点分别运行这个脚本文件,那么hadoop就安装好了。

2.2修改配置文件

a. 需要在Master节点的/etc/hostname文件中修改主机名:
sudo gedit /etc/hostname
Linux下搭建Hadoop集群
这里多说一句,可以使用hostname命令,查看当前节点的主机名是否修改成功。然后需要在Slaver1和Slaver2中修改hostname,分别改成Slaver1和Slaver2。

b. 在/etc/hosts中配置主机名和IP地址的对应关系:
sudo gedit /etc/hosts

Linux下搭建Hadoop集群

修改好了以后,在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