Hadoop全分布安装配置及常见问题(2)

五、配置Hadoop环境变量:修改HADOOP_HOME/conf/下的hadoop-env.sh,Fedora下javaJDK默认被安装到/usr/java下。

追加:

export JAVA_HOME="/usr/java/jdk1.7.0"

六、使用SSH令所有机器相互可无密码访问

只演示两台间A、B的操作,Fedora15默认已经安装SSH:

在A、B的主目录下创建.ssh文件夹:mkdir .ssh,并都修改其权限:chmod 700 .ssh   (注意不可以更高,似乎这样SSH认为不安全)。 在A,进入.ssh目录: 1)ssh-keygen -t rsa
2)cat id_rsa.pud >> authorized_keys #请用cat,否则当机器很多的时候用cp可能覆盖原来的文件,而导致之前配置好的机器的配置失效。
3)chmod 600 authorized_keys 
4)scp authorized_keys hadoop@B的IP:/home/hadoop/ #如果对ssh原理和scp命令不熟悉,建议你不要直接scp进入B的.ssh目录中,否则在多台机器时会出现覆盖
5)ssh B  #需要密码
6)touch ~/.ssh/authorized_keys  #如果authorized_keys文件不存在,创建之
7)chmod 600 authorized_keys
8)cat ~/authorized_keys >> ~/.ssh/authorized_keys #将前面复制过来的文件内容追加到.ssh目录下的authorized_keys中。
到此时,A可以无密码登录B
 
在B,进入.ssh 目录: 1)ssh-keygen -t rsa
2)cat id_rsa.pub >> authorized_keys
3)scp  authorized_keys hadoop@A的IP:/home/hadoop/
4)ssh A
6)cat ~/authorized_keys >> ~/.ssh/authorized_keys
到此时,B也可无密码登录A
 

其他机子两两间大致如上。
如果发现有的机子无法无密码访问,很可能是权限问题,检查.ssh目录权限和authorized_keys文件的权限,也可通过以下命令查看日志:

ssh -v localhost

tail /var/log/secure -n 20 #查看系统日志,需要root用户

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/c53040e4578c579e325936c3abcea793.html