目录
一. 首先,我们为什么要设置免密?
在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作。例如,某个脚本能够终止并重启集群中的所有守护进程。所以,需要安装SSH,但是,SSH远程登陆的时候,需要密码验证,集群中数千台计算机,数千台计算机都需要手工输入密码,这是不太现实的,所以,就需要配置SSH无密码登录。
二. 如何设置?
首先在本地主机上创建公钥和密钥,再把公钥复制到远程主机上,最后测试免密登录远程主机。
三. 执行过程。
1. 打开一台虚拟机修改/etc/hosts下的文件。
2. 在文件里面添加三台虚拟机的IP和名称。
3. 将修改好的hosts文件发送给其他虚拟机,发送时需要输入密码。
scp /etc/hosts root@hadoop02:/etc/hosts
4. 在本台虚拟机生成密匙。
代码
ssh-keygen -t rsa
5. 把获取到的密匙发送给其他虚拟机和本机。(需要输入其他虚拟机的登录密码)
代码
ssh-copy-id root@hadoop02
由于免密是单向的,看自己需求是否相互免密
6. 检查免密是否成功
使用ssh IP地址或虚拟机名称 登录,exit登出