算起来接触hadoop集群也有一段时间了,只是以前硬件条件有限,玩儿都是伪分布式。最近有了新服务器,应项目需求,完成了hadoop完全分布式的搭建,以下是具体过程。这是个人实践操作后的记录,欢迎各位阁下不吝赐教。
好了不废话了,赶紧进入正题,过程有点长。
硬件条件:多台相同linux系统主机,要求所有机器在同一网段。主机分别命名为quad1,quad2,…quadn,其中quad1作为主节点,其余的作为从节点。为了实验描写方便,本次实验使用4个结点,quad201~quad204。(如果阁下有更多机器,集群搭建方法也是一样,只是多了几个scp命令而已)
相关软件及其版本:
Linux系统:CentOS release 6.5 final x86-64
jdk:jdk1.7.0_71
hadoop: Yarn的hadoop2.4.1
集群框架如下:
详细步骤:
一.建立hosts文件。其作用就是将主机ip映射主机名,方便主节点节点快速查询访问。
编辑/etc/hosts文件,将以下代码添加进去:
172.20.36.244 quad201
192.168.2.2 quad202
192.168.2.3 quad203
192.168.2.4 quad204
备注:172.20网段是外部可访问IP,192.168网段只能是内部访问IP,外部主机可通过登录quad201进入访问另外三个节点。
然后切换到root用户下,永久性关闭所有节点的防火墙(四个节点都得操作):
[root@quad201 ~]# service iptables stop
[root@quad201 ~]# chkconfig iptables off
二.建立hadoop账户。
为hadoop集群专门设置一个用户组及用户。
root用户下输入以下命令:
[root@quad201 home]# groupadd hadoop
[root@quad201 home]# useradd –s /bin/bash–d /home/hadoop –m hadoop –g hadoop –G root
[root@quad201 home]# passwd Hadoop
然后切换到hadoop用户下
[hadoop@quad201~]
三.免密码连接SSH配置(很重要,细节需注意)在每个节点分产生公私密钥。
一)首先在主节点运行命令:
[hadoop@quad201~]$ ssh-keygen –t dsa –P ‘’–f ~/.ssh/id_dsa
然后会在hadoop主目录下生成.ssh文件夹。将~/.ssh下的id_dsa.pub复制成authorized_keys
[hadoop@quad201~]$ cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
之后修改权限ÿ