1.准备工作
1)通过克隆或者其他方式获得可互相通信的多台节点(本文为3台虚拟机:hadoop101、hadoop102、hadoop103)
2)配置节点的静态IP、hostname、hosts
[root@hadoop101 jdk1.8.0_121]# vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.101 hadoop101 hadoop101 192.168.1.102 hadoop102 hadoop102 192.168.1.103 hadoop103 hadoop103
3)输入命令:cd ~/.ssh进入rsa公钥私钥文件存放的目录,删除目录下的id_rsa,id_rsa.pub文件
2.生成rsa公钥私钥文件
所有节点建立互信(免密码登录);
1)在各节点通过ssh-keygen生成RSA密钥和公钥
ssh-keygen -q -t rsa -N "" -f ~/.ssh/id_rsa
2)将所有的公钥文件汇总到一个总的授权key文件中,在hadoop1机器执行如下命令,必须逐行执行:
ssh hadoop1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh hadoop2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh hadoop3 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3、设置授权key文件的权限,在hadoop1机器执行如下命令:
chmod 600 ~/.ssh/authorized_keys
4、分发授权key文件到所有服务器,必须逐行执行:
scp ~/.ssh/authorized_keys hadoop1:~/.ssh/ scp ~/.ssh/authorized_keys hadoop2:~/.ssh/ scp ~/.ssh/authorized_keys hadoop3:~/.ssh/