最近在搭建完全分布式的集群时候,在进行ssh的配置的时候遇到一些问题,下面总结一下
本文使用的环境是 centos6.5 64位机器
首先使用的是非root用户,假定是hadoop用户
首先使用的
ssh-keygen -t rsa
产生会在 /home/hadoop/.ssh 下产生两个密钥文件
将id_rsa.pub 即公钥文件的内容追加到 authorized_keys文件中
此时可以ssh localhost 是可以免密码登陆的
如果不行的话,建议将.ssh 的权限改成700
将authorized_keys 改成600
在远程传送到相邻的节点机
scp authorized_keys hadoop@192.168.1.128:/home/hadoop/.ssh/
注意被传的节点如果不能登陆的话,建议将 .ssh 文件夹的权限改成700
将authorized_keys的权限改成600的。
注意,就是将需要登录者的公钥传到被登录的机器上,将公钥追加进 authorized_:keys
备注在使用hadoop的用户时,会遇到sudo失效的问题
建议使用root用户将hadoop的sudo的权限开放
修改 /etc/sudoers文件
添加hadoop用户。
2.在使用scp的时候最好选用一个有权限的文件进行,否则会报无权限的问题。
我使用的是建立一个文件夹使用
chown hadoop:hadoop 文件夹
的方式建立一个文件夹使用。
这样很愚笨。。。