五、配置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 rsa2)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用户