在真实的Linux集群上安装

1.在每台Linux节点上安装好jdk,最好把ant一并装了,装的目录最好一致,然后统一配好java所需要的环境变量,例如:

a)        $export  JAVA_HOME=/usr/java/jdk1.6.0_16 

b)        $export  ANT_HOME=/usr/ant/ant-1.7.0

c)        $export  JRE_HOME=/usr/java/jdk1.6.0_16/jre

d)        $export                     CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib:$ANT_HOME/lib

e)        $export  PATH=/usr/java/jdk1.6.0_16/bin:/usr/ant/ant-1.7.0/bin:$PATH

注:最好将这些写到~/.bash_profile里面去

2.配置每个节点上的用户权限,强烈建议使用root用户,因为在运行Hadoop的时候,hadoop会生成tmp文件,并且对这些文件修改,用户必须得具有足够的权限,这一点曾让我欲哭无泪,曾通宵一夜调bug,未果,特引以为戒!!

(a)给用户添加sudo的权限:

$chmod +w /etc/sudoers

$vi /etc/sudoer    添加一行: 用户名 ALL=(ALL) ALL

$chmod –w /etc/sudoers     注:必须得把写权限去掉,因为系统只是别具有只读权限的sudoers文件

(b)干脆直接将用户设为root用户组:

$chmod +w /etc/passwd

$vi /etc/passwd      更改对应用户那一行的信息:

例如:zhangliuhang:x:0:0::/home/zhangliuhang:/bin/bash

$chmod –w /etc/passwd

3.配置每个节点上的网络环境,这是比较重要而且比较费事,首先安装ssh,安装好后,配置ssh,使得各个节点间可以互相访问,不需要手动的密码验证。

(1)生成RSA密钥,公钥:

$ssh-keygen –t rsa –f  ~/.ssh/id_rsa

注:(一直按回车键就好)此时在~/.ssh目录下会有密钥id_rsa,和公钥id_rsa.pub

(2)将公有密钥id_rsa.pub追加到其他所有节点的~/.ssh/authorized_keys文件中,以使得本节点访问别的节点时候不需要手动输入密码验证。这有两种处理方法:

(A)在一台机器上的~./ssh/authorized_keys文件中收集好所有节点的公有密钥id_rsa.pub,然后将该文件分发到其他各个节点的相应位置。最后保证authorized_keys文件的读写权限只对所有者有读写权限,否则ssh是不会工作的!   

(B) 当集群较小的情况下,推荐使用命令ssh-copy-id  -i  ~/.ssh/id_rsa.pub user@machine的方法将本节点的公钥传到别的节点上。

配好后可以试试ssh 看能不能不输入密码直接登录上别的节点 

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

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