前期准备
l 两台linux虚拟机(本文使用redhat5,IP分别为 IP1、IP2)
l JDK环境(本文使用jdk1.6,网上很多配置方法,本文省略)
l Hadoop安装包(本文使用Hadoop1.0.4)
搭建目标
210作为主机和节点机,211作为节点机。
搭建步骤
1修改hosts文件
在/etc/hosts中增加:
IP1 hadoop1
IP2 hadoop2
2 实现ssh无密码登陆
2.1 主机(master)无密码本机登陆
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
直接回车,完成后会在 ~/.ssh/ 生成两个文件: id_dsa 和 id_dsa.pub 。
这两个是成对出现,类似钥匙和锁。
再把 id_dsa.pub 追加到授权 key 里面 ( 当前并没有 authorized_key s文件 ) :
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh localhost hostname
还是要输入密码,一般这种情况都是因为目录或文件的权限问题,看看系统日志,确实是权限问题
.ssh下的authorized_keys权限为600,其父目录和祖父目录应为755
2.2 无密码登陆节点机(slave)
slave上执行:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
生成.ssh目录。
将master上的authorized_keys复制到slave上:
scp authorized_keys hadoop2:~/.ssh/
实验:在master上执行
ssh hadoop2
实现无密码登陆。
3 配置Hadoop
3.1拷贝hadoop
将hadoop-1.0.4.tar.gz ,拷贝到usr/local 文件夹下,然后解压。
解压命令:
tar –zxvf hadoop-1.0.4.tar.gz
3.2查看 cat /etc/hosts
IP1 hadoop1
IP2 hadoop2
3.3 配置 conf/masters 和 conf/slaves
conf/masters:
1
IP1
conf/slaves:
1
2
IP2
IP2
3.4 配置 conf/hadoop-env.sh
加入
1
export JAVA_HOME=/home/elvis/soft/jdk1.7.0_17
3.5 配置 conf/core-site.xml
1
2
3
4
3.6 配置 conf/hdfs-site.xml
加入
3.7 配置conf/mapred-site.xml
加入
3.8 建立相关的目录
1
/usr/local/hadoop/ //hadoop数据和namenode目录
【注意】只创建到hadoop目录即可,不要手动创建data和namenode目录。
其他节点机也同样建立该目录。
3.9 拷贝hadoop文件到其他节点机
将hadoop文件远程copy到其他节点(这样前面的配置就都映射到了其他节点上),
命令:
1
scp -r hadoop-1.0.4 IP2:/usr/local/
3.10 格式化Active master
命令:
bin/hadoop namenode -format
3.11 启动集群 ./start-all.sh
现在集群启动起来了,看一下,命令:
1
bin/hadoop dfsadmin -report
2个datanode,打开web看一下
浏览器输入:IP1:50070
打完收工,集群安装完成!
大讲台 实战项目最多的Hadoop在线学习平台