系统:CentOs6 64位
环境:1台namenode 2台datanode 用户名全是gird
master 192.168.1.103
slave1 192.168.1.104
slave2 192.168.1.107
具体的安装步骤如下:
1、下载jdk1.6以及hadoop1.2.1(去官网下载即可,都是64位)
2、使用filezilla将jdk和hadoop上传至master服务器,jdk上传至slave1服务器和slave2服务器
3、设置host,命令如下:
vi /etc/sysconfig/network 将HOSTNAME=master
vi /etc/hosts 设置如下内容:
192.168.1.103 master
192.168.1.104 slave1
192.168.1.107 slave2
slave1和slave2除了HOSTNAME为slave1和slave2 hosts的配置一样
可以使用hostname来验证是否已经修改
使用ping master/slave1/slave2 来验证是否通讯畅通
4、关闭防火墙
master、slave1、slave2分别使用root权限关闭防火墙,命令如下:
service iptables stop
chkconfig iptables off
5、SSH免密码登录
master、slave1、slave2分别使用grid用户,在/home/grid下运行ssh-keygen -t rsa
master服务器使用
scp id_rsa.pub
[email protected]:/home/grid/.ssh/authorized_keys
scp id_rsa.pub
[email protected]:/home/grid/.ssh/authorized_keys
然后再做免登录直连自己的操作
将/home/grid/.ssh/id_rsa.pub内容复制到authorized_keys中
slave1和slave2也做同样的操作
最后的效果如下:
6、使用grid用户在master上安装hadoop,如下图:
7、安装jdk
sudo yum install jdk-6u31-linux-amd64.rpm --nogpgcheck
有提示的话输入"y"
8、进入hadoop安装目录下的conf中,进行一系列的配置,修改的文件有:
hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、masters、slaves
1)修改hadoop-env.sh
2)修改core-site.xml
3)修改hdfs-site.xml
4)修改mapred-site.xml
5)修改masters
6)修改slaves
9、复制hadoop到slave1和slave2,如下图:
10、在master中格式化HDFS,如下图:
11、启动hadoop,在如下图:hadoop-1.2.1下运行./bin/start-all.sh
12、验证hadoop是否启动成功:
总结:在安装的过程中遇到了很多的问题,前前后后弄了1天半,使用不同的用户安装了一次,不成功,然后重新删除系统,使用统一的grid用户进行安装配置,在启动hadoop的时候提示输入“yes”,还以为是没有配置好免密码登录,可是验证没有问题,原来是这样的,第一次启动hadoop的时候提示输入,第二次开始就不会提示了,再有其他的就是在格式化HDFS的时候,忘记切换用户了,结果使用的是root,也导致不能正常启动hadoop。