CentOS 6.4下CDH4集群安装
三、CDH4集群部署
1.集群环境
选择5台物理PC机,构建Hadoop集群;
操作系统均为CentOS 6.4;
集群包括5个节点:1个Master,4个Slave节点
注:节点之间可以局域网连接,使用静态IP,相互ping通;也可以不用静态IP,直接使用外网分配的固定的IP;以静态为例:
机器 |
主机名 |
192.168.12.10 |
Master |
192.168.12.11 |
Slave01 |
192.168.12.12 |
Slave02 |
192.168.12.13 |
Slave03 |
192.168.12.14 |
Slave04 |
2.配置过程
1)修改主机名(分别在每个节点主机上修改)
# hostname Master
# vim /etc/sysconfig/network
修改为:
HOSTNAME = Master
其他机器分别做相应的设置,修改为:Slave01、Slave02、Slave03、Slave04
注:设置后重启机器
2)修改hosts文件(所以机器上做相同的配置)
# vim /etc/hosts
在文件中添加配置:
192.168.12.10 Master
192.168.12.11 Slave01
192.168.12.12 Slave02
192.168.12.13 Slave03
192.168.12.14 Slave04
注:可以在其他所有机器上进行上述相同的配置,或者用scp命令将Master修改后的文件复制到其他机器上
# scp /etc/hosts [email protected]:/etc/hosts
3)配置SSH无密码登陆(主要工作在Master一台机器上完成即可)
附:SSH无密码登陆原理简介:
首先,在Master上生成一个密钥对,包括一个公钥和一个私钥,并将公钥复制到所有的Slave上;
当Master通过SSH连接Slaver时,Slave会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master;
Master收到加密后用私钥进行解密,并将解密数回送给Slave,Slave确认解密数无误后允许Master不输入密码就可以进行连接
u配置Master无密码登陆所有Slave(在Master上操作)
具体过程如下:
ØMaster机器上生成密码对
# ssh�Ckeygen �Ct rsa -P ‘’ (两个单引号)
生成无密码密钥对,询问保存路径时直接回车采用默认的路径;
生成的密钥对为:id_rsa和id_rsa.pub ;默认在 /root/.ssh 目录下
ØMaster节点上配置,将id_rsa.pub追加到授权的key中去
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Ø修改authorized_keys权限
# chmod 600 ~/.ssh/authorized_keys
权限的设置非常重要,因为不安全的设置,会不能使用RSA功能
Ø修改SSH配置文件
# vim /etc/ssh/sshd_config
修改前:
#RSAAuthentication yes # 启用RSA 认证
#PubkeyAuthentication yes # 启用公钥私钥配对认证方式
# AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
修改后:
RSAAuthenticationyes # 启用RSA 认证
PubkeyAuthenticationyes # 启用公钥私钥配对认证方式
AuthorizedKeysFile.ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
Ø重启SSH服务
# service sshd restart
Ø验证是否成功
# ssh Master
Ø将公钥复制到所有Slave机器上
# scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器 IP:~/
以Slave01为例:
# scp ~/.ssh/id_rsa.pub [email protected]:~/
l登陆到Slave01机器上
# ssh 192.168.12.11
需要输入root密码,进入Slave01机器,因为现在Master还不能无密码登陆Slave01
l在root目录下建立.ssh文件夹
# mkdir ~/.ssh
这一步并不是必须的,如果已有.ssh目录,则不需要建立
l修改文件夹“.ssh”的用户权限
# chmod 700 ~/.ssh
l追加到授权文件“authorized_keys”
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
改成:
# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
l修改权限
# chmod 600 ~/.ssh/authorized_keys
l修改Slave01上的SSH配置文件
# vim /etc/ssh/sshd_config
修改前:
#RSAAuthentication yes # 启用RSA 认证
#PubkeyAuthentication yes # 启用公钥私钥配对认证方式
# AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
修改后:
RSAAuthenticationyes # 启用RSA 认证
PubkeyAuthenticationyes # 启用公钥私钥配对认证方式
AuthorizedKeysFile.ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
l重启SSH服务
# service sshd restart
l删除掉复制过来的“id_rsa.pub”文件
# rm ~/id_rsa.pub
l验证Master到Slave01的无密码登陆
从Slave01回到Master机器:
# ssh 192.168.12.10
需要输入root密码,进入Master机器,因为现在Slave01还不能无密码登陆Master
在Master下登陆Slave01:
# ssh Slave01
看是否可以成功进行无密码登陆
注:同样的方法,从Master登陆Slave02、Slave03、Slave04进行同样的操作
u配置所有Slave无密码登陆Master(在Slave机器上操作,也可由Master登陆到Slave进行操作)
步骤和Master无密码登陆所有Slave一样,即把所有Slave的公钥追加到Master的“.ssh”文件夹下的“authorized_keys”中
以Slave01为例:(在Slave01上操作)
Ø创建Slave01自己的公钥和私钥,
# ssh�Ckeygen �Ct rsa -P ‘’ (两个单引号)
生成无密码密钥对,询问保存路径时直接回车采用默认的路径;
生成的密钥对为:id_rsa和id_rsa.pub ;默认在 /root/.ssh 目录下
Ø将id_rsa.pub追加到Slave01自己的authorized_keys中去
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Ø重启SSH服务
# service sshd restart
Ø验证是否成功
# ssh Slave01
Ø将Slave01的公钥复制到Master机器上
# scp ~/.ssh/id_rsa.pub [email protected]:~/
l登陆到Master机器上
# ssh 192.168.12.10
需要输入root密码,进入Master机器,因为现在Slave01不能无密码登陆Master
l在root目录下建立.ssh文件夹
# mkdir ~/.ssh
这一步并不是必须的,如果已有.ssh目录,则不需要建立
l修改文件夹“.ssh”的用户权限
# chmod 700 ~/.ssh
l将复制来的公钥追加到Master授权文件“authorized_keys”中
# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
l删除掉复制过来的“id_rsa.pub”文件
# rm ~/id_rsa.pub
l验证Slave01到Master的无密码登陆
从Master回到Slave01机器:
# ssh Slave01
无需输入root密码进入Slave01机器,因为Master已经可以无密码登陆Slave01
在Slave01下登陆Master:
# ssh Master
看是否可以成功进行无密码登陆
注:同样的方法,在Slave02、Slave03、Slave04进行同样的操作