1.在每个linux电脑上,创建一个hadoop用户,给予root权限。配置hosts文件
root权限下:
创建用户:adduser hadoop
passwd xxxx
给予root权限:vi /etc/sudoers
按键"i"进入输入模式(如果不能修改,需要更改文件的权限:chmod 700 /etc/sudoers)
在文本"root ALL=(ALL) ALL"的下一行添加
hadoop ALL=(ALL) ALL
按ESC键,输入:wq
编辑/etc/ssh/sshd_config文件,把47、48、49三行的注释放开。这三行的配置信息:
RSAAuthentication yes//允许用RSA秘钥进行身份验证
PubkeyAutentication yes//允许用公钥进行身份验证
AuthorizedKeysFile .ssh/authorzed_keys//本机保存的公钥的文件位置
配置hosts:
vi /etc/hosts
127.0.0.1 localhost
192.168.0.100 master
192.168.0.101 slave1
重启网络配置
2.在每台linux电脑上service iptables restart
hadoop用户下:
生成秘钥:
ssh-keygen -t rsa
一路回车
cp ~/.ssh/id_rsa.pub authorized_keys
更改权限:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
切换到root用户重启sshd
service sshd restart
切换的hadoop用户,测试:
ssh localhost
3.多台linux操作第一次会提示yes/no,第二次不会,单机的ssh免登陆完成
把每台linux上的hadoop用户下的id_rsa.pub拷贝到其他电脑上:
scp ~/.ssh/id_rsa.pub hadoop@host(可以是hosts配置的对应名称):~/任意位置。
把别的电脑复制过来的id_rsa.pub,追加到~/.ssh/authorized_keys
cat ~/拷贝过来的id_rsa.pub >> ~/.ssh/authorized_keys
重启每台电脑的ssh(root用户才能重启)
service sshd restart
测试:
slave1电脑上:ssh master(第一次要密码,第二次不要)
同上在master上测试。