在hadoop配置集群环境时,需要在主人机器master和其它工人机器worker机器之间进行ssh免登陆,首先ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥,下面以我的机器为例来设置:master 47.93.59.38,worker: 59.110.40.106.
1.在worker机下生成公钥/私钥对。使用指令 ssh-keygen -t rsa -P ''
2.-P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/root 目录下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub 如下图:
3.把work机下的id_rsa.pub复制到master下,在matster机的.ssh/authorized_keys文件里,我用scp复制。由于还不是免登陆所欲需要输入密码
使用指令 scp id_rsa.pub root@47.93.59.38:/root 如下图
4 .master机把从work机复制的id_rsa.pub添加到.ssh/
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 文件里,
使用如下命令 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
在使用命令cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
通过ls可以查看复制到master的id_rsa.pub文件,如图
5、验证worker机器免登陆master机器,
使用命令 ssh 47.93.59.38
总结:这样worker机器就可以直接登陆master机器了,如果想master机器免登陆work机器也如法炮制即可