部署hadoop集群,都需要配置SSH免密码登陆,为什么要设置SSH免密码登录,其原因是我们在开启hadoop的时候需要多次输入yes和root密码,这是我们所不能忍受的,我们迫切需要实现免登录的功能。 这里以三个节点node0, node1,node2为例配置

  1. 首先每个节点的/etc/hosts文件都要配置好,内容如下: 10.10.75.100 node0 10.10.75.101 node1 10.10.75.102 node2

2.在每个节点都执行: ssh-keygen -t rsa 生成公钥 注意:如果以前有生成过可以先删除,删除命令是 rm -rf /root/.ssh/

3.将node1,node2生成的公钥改名,拷贝到node0节点上

#节点node1 cp /root/.ssh/id_rsa.pub /root/.ssh/key_node1 scp /root/.ssh/key_node1 root@node0:/root/.ssh/

#节点node2 cp /root/.ssh/id_rsa.pub /root/.ssh/key_node2 scp /root/.ssh/key_node2 root@node0:/root/.ssh/

4.node0节点生成公钥也改名 cp /root/.ssh/id_rsa.pub /root/.ssh/key_node0

5.在节点node0上,把公钥导入到认证文件,执行如下命令: cd /root/.ssh/ cat key_node0 >> authorized_keys cat key_node1 >> authorized_keys cat key_node2 >> authorized_keys cat key_node3 >> authorized_keys chmod 700 /root/.ssh chmod 600 authorized_keys

6.把这个authorized_kesy文件分发到其它节点 scp authorized_keys root@node1:/root/.ssh scp authorized_keys root@node2:/root/.ssh

  1. 测试SSH免密码登录