第二部分 集群环境搭建 1、这里我们搭建一个由三台机器组成的集群: 192.168.0.1 hduser/passwd cloud001 nn/snn/rm CentOS6 64bit 192.168.0.2 hduser/passwd cloud002 dn/nm Ubuntu13.04 32bit 192.168.0.3 hduser/passwd cloud003 dn/nm Ubuntu13.0432bit 1.1 上面各列分别为IP、user/passwd、hostname、在cluster中充当的角色(namenode, secondary namenode, datanode , resourcemanager, nodemanager) 1.2 Hostname可以在/etc/hostname中修改(ubuntu是在这个路径下,RedHat稍有不同) 1.3 这里我们为每台机器新建了一个账户hduser.这里需要给每个账户分配sudo的权限。(切换到root账户,修改/etc/sudoers文件,增加:hduser ALL=(ALL) ALL ) 2、修改/etc/hosts 文件,增加三台机器的ip和hostname的映射关系 192.168.0.1 cloud001 192.168.0.2 cloud002 192.168.0.3 cloud003 3、打通cloud001到cloud002、cloud003的SSH无密码登陆 3.1 安装ssh 一般系统是默认安装了ssh命令的。如果没有,或者版本比较老,则可以重新安装: sodu apt-get install ssh 3.2设置local无密码登陆 安装完成后会在~目录(当前用户主目录,即这里的/home/hduser)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。 具体步骤如下: 1、 进入.ssh文件夹 2、 ssh-keygen -t rsa 之后一路回 车(产生秘钥) 3、 把id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys) 4、 重启 SSH 服 务命令使其生效 :service sshd restart(这里RedHat下为sshdUbuntu下为ssh) 此时已经可以进行ssh localhost的无密码登陆 【注意】:以上操作在每台机器上面都要进行。 3.3设置远程无密码登陆 这里只有cloud001是master,如果有多个namenode,或者rm的话则需要打通所有master都其他剩余节点的免密码登陆。(将001的authorized_keys追加到002和003的authorized_keys) 进入001的.ssh目录 scp authorized_keys hduser@cloud002:~/.ssh/ authorized_keys_from_cloud001 进入002的.ssh目录 cat authorized_keys_from_cloud001>> authorized_keys 至此,可以在001上面sshhduser@cloud002进行无密码登陆了。003的操作相同。
4、安装jdk(建议每台机器的JAVA_HOME路径信息相同)
注意:这里选择下载jdk并自行安装,而不是通过源直接安装(apt-get install)
4.1、下载jkd( http://www.Oracle.com/technetwork/java/javase/downloads/index.html)
4.1.1 对于32位的系统可以下载以下两个Linux x86版本(uname -a 查看系统版本)
4.1.2 64位系统下载Linux x64版本(即x64.rpm和x64.tar.gz)
4.2、安装jdk(这里以.tar.gz版本,32位系统为例)
安装方法参考http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html
4.2.1 选择要安装java的位置,如/usr/目录下,新建文件夹java(mkdirjava)
4.2.2 将文件jdk-7u40-linux-i586.tar.gz移动到/usr/java
4.2.3 解压:tar -zxvf jdk-7u40-linux-i586.tar.gz
4.2.4 删除jdk-7u40-linux-i586.tar.gz(为了节省空间)
至此,jkd安装完毕,下面配置环境变量
4.3、打开/etc/profile(vim /etc/profile)
在最后面添加如下内容:
JAVA_HOME=/usr/java/jdk1.7.0_40(这里的版本号1.7.40要根据具体下载情况修改)
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOMECLASSPATH PATH
4.4、source /etc/profile
4.5、验证是否安装成功:java–version
【注意】每台机器执行相同操作,最后将java安装在相同路径下(不是必须的,但这样会使后面的配置方便很多)
5、关闭每台机器的防火墙
RedHat:
/etc/init.d/iptables stop 关闭防火墙。
chkconfig iptables off 关闭开机启动。
Ubuntu:
ufw disable (重启生效)
(责任编辑:IT) |