由于hadoop分布式集群的各个节点间需要通信,那么我们得保证每个节点正在使用的用户能够不需要密码即可连接上其它节点主机。所以我们必须对集群各个节点配置SSH无密码访问,配置步骤如下:
1、创建一个openssl密钥对,命令如下:
ssh-keygen
执行完成后,会在/root/.ssh/文件下生成两个文件:id_rsa(私钥) 和 id_rsa.pub(公钥)。
2、然后将生成的公钥复制到已经授权的秘钥列表当中,命令如下:
cp id_rsa.pub authorized_keys
3、测试SSH连接一下本机,发现不需要密码即可登录,命令如下:
ssh hdp-slave-01
4、同理,对其它集群节点也进行配置SSH无密码登录。
5、对所有的集群节点中的秘钥列表进行合并,分别把两个子节点的秘钥列表copy到主节点上,命令如下:
--在子节点slave-01上执行 scp /root/.ssh/id_rsa.pub root@hdp-master-01:/root/.ssh/id_rsa_01.pub --在子节点slave-02上执行 scp /root/.ssh/id_rsa.pub root@hdp-master-01:/root/.ssh/id_rsa_02.pub
6、然后把子节点的公钥追加到秘钥列表当中,命令如下:
cat id_rsa_01.pub>> authorized_keys cat id_rsa_02.pub>> authorized_keys
7、最后把主节点的秘钥列表authorized_keys都复制到各个集群子节点上,即可完成SSH的无密码访问。
8、测试一下SSH无密码访问是否生效,如下图: