在hadoop集群中需要让各个机器之间能够相互通过SSH访问,这个时候就需要配置SSH免密登录了,设置之后当使用start-dfs.sh启动hdfs时,不用再输入datanode节点机器的密码了。比如现在有三台机器node1,node2,node3如下:
192.168.246.181 node1
192.168.246.182 node2
192.168.246.183 node3
我们需要让这三台机器任意两台都能够互相访问,需要执行以下步骤即可:
1)在node1上生成公钥
[root@node1 /]# ssh-keygen -t rsa
一路回车,都设置成默认值,在当前用户的home目录下的.ssh目录( ~/.ssh)中生成了公钥文件(id_rsa公钥文件(id_rsa.pub)和私钥文件(id_rsa)。
2)使用以下命令将该公钥文件分发到其他的主机上面,包括自己
[root@node1 /]# ssh-copy-id node1
[root@node1 /]# ssh-copy-id node2
[root@node1 /]# ssh-copy-id node3
3)依次在node2,node3机器上执行1、2两个步骤
4)使用ssh命令登录其他机器,查看免密登录是否设置成功
[root@node1 /]# ssh node2