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