Hadoop集群安装遇到的问题之一

1. ubuntu12上安装jdk1.7.0_04的问题
ubuntu12上默认存在的是openjdk,所以传统的apt-get install sun-jdk6命令无法执行,必须手动安装jdk。在oracle官方网站上下载的linux版本jdk只有rpm与tar.gz两种格式。在安装过程如下:
a) 解压jdk(以tar.gz为例):tar –xvzf  jdk1.7.tar.gz
b) 设置环境变量,在ubuntu中有三种设置环境变量的方法:本人使用的是设置/etc/environment的方法,在该文件夹下设置JAVA_HOME,JRE_HOEM,CLASSPATH,PATH,具体值可查网络。其中设置PATH时最好用绝对路径,否则容易出现命令无法找到的错误。
c) 设置好环境变量之后必须在系统中对默认的jdk进行替换,也就是用sunjdk替换openjdk。命令如下:sudo update-alternatives /usr/lib/jvm/java java /home/hadoop/java/jdk1.7/java 300; sudo update-alternatives /usr/lib/jvm/javac javac /home/hadoop/java/jdk1.7/javac 300;
d) 验证方法如下:java –version。
2. 安装ssh无密码登录。首先在各个节点上安装ssh,以master机为例:
a) 利用命令:apt-get install openssh-server
b) 生成钥匙和锁:ssh-keygen –t rsa;也可以产生dsa密钥。在执行命令时,要求输入密码时直接回车,输入空密码。
c) 将公钥加入到授权文件中。Cat ~/home/hadoop/.ssh/id_rsa.pub >> ~/home/hadoop/.ssh/authorized_keys
d) 登录ssh localhost验证安装是否正确。
e) 若首次安装一般都会正确。若中间其他节点有IP变动,则可能会产生错误要求重新生产密钥。重复安装时,有时会出现需要输入密码的情况,这时重启机器即可解决。
f) 将公钥发送给各节点,将该公钥加入到slave节点的授权文件中:scp ~/home/hadoop/.ssh/id_rsa.pub [email protected]:~/192.168.0.105。(发送id_rsa.pub到111机器上,并重命名为192.168.0.105。111机器将该公钥加入到自己的授权文件authorized_keys中,即可实现master机器无密码访问slave机器了)
注意:最开始时主机master和从机slave最好建立相同的用户,这样主机master利用ssh服务登录从机slave时直接根据hosts文件中映射地址即可访问,因为主机从机的用户一样,不用再写从机的用户名,简单方便。例如:用相同用户名hadoop:ssh slave.即可登录,其中slave是在/etc/hosts中设置的映射文件。如果主机是hadoop,从机是hadoop-slave,则命令必须是ssh hadoop-slave@slave。

猜你喜欢

转载自zixufei201204150421.iteye.com/blog/1551851