在安装hadoop前首先要配置ssh免密码登录,master为其中一台主机名,slave2为另一台主机名,在各自的/etc/hostname中修改。然后在各自的/etc/hosts文件中添加dns解析,
192.168.154.220 master
192.168.154.222 slave2
修改后就可以按以下操作实现免密码登录了。
1.修改ssh配置文件(两个主机都要这样的操作):
root用户编辑以下文件,
vi /etc/ssh/sshd_config
去掉下面三行前的注释#
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
:wq保存文件。
重启ssh服务:
service sshd restart
2.在master主机的/home/hadoop/.ssh文件夹(没有就新建文件夹)中生成ssh密钥对,命令如下:
ssh-keygen -t rsa -P ''
执行后直接回车,会生成两个文件id_rsa 和 id_rsa.pub,将id_rsa.pub中的内容加到authorized_keys中:
cat id_rsa.pub >> authorized_keys
3.修改文件夹和文件的权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
4.将id_rsa.pub安全复制到slave2主机的hadoop用户目录的.ssh文件夹(没有就新建文件夹)下:
scp ~/.ssh/authorized_keys hadoop@slave2:~/.ssh/id_rsa.pub
以hadoop用户登录slave2主机上的~/.ssh目录中,再将公钥加入到slave2的authorized_keys中:
cat id_rsa.pub >> authorized_keys
5.在master主机上以hadoop用户测试是否能ssh免密码登录slave2主机:
ssh slave2
备注:我的Linux服务器操作系统是centOS,ssh免密码登录用户是hadoop。