搭建Hadoop集群,需要通过ssh命令远程登录Linux主机。免密登录就成为了必要的准备工作,这样可以规避掉每次输入密码的繁琐工作,让集群管理方便高效。免密登录的设置方法有多种,本文列举的只是其一,且亲测有效:
1. 运行多个节点
本例运行3个节点作为演示,分别为hadoop1、hadoop2、hadoop3,其中hadoop1为主节点
2. 生成公私钥对
在hadoop1节点登陆hadoop用户,执行"ssh-keygen"命令;
接下来出现3个需要确认的位置(如箭头所示),一路回车;
在/home/hadoop/.ssh路径下,已经生成了公私钥对,分别为id_rsa(私钥)、id_rsa.pub(公钥);
执行"cat ./id_rsa.pub >> authorized_keys",将公钥文本复制到一个新的文件"authorized_keys";
3. 传递给其他节点
执行"ssh-copy-id"命令,后面的ip是hadoop2的地址,同理,传递给hadoop3就换成对应的地址,以此类推;
然后输入hadoop2的密码,该密码需要提前设置,执行"passwd hadoop2"即可,以此类推;
最后,在同样的.ssh路径下,就会看到传递过来的authorized_keys,和hadoop1的文本内容完全一致;
4. 验证
按照系统提示,执行"ssh hadoop02",如果不提示输入密码就正常登录,说明免密设置成功。
其他节点的免密设置如法炮制即可。