其中rsync为文件同步命令,每次配置作修改后可以通过rsync命令进行文件的同步操作。完成上述操作后,切换回hadoop用户下,运行如下脚本,完成hadoop的同步安装:
12
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #! /bin/bash
for SLAVE in `cat $HADOOP_CONF_DIR/slaves`; do
if test `expr match $SLAVE "*slave*"` -eq 0; then
#拷贝jdk
scp /home/hadoop/jdk-7u40-linux-i586.gz hadoop@$SLAVE:/home/hadoop/
#拷贝hadoop
scp /home/hadoop/hadoop-2.2.0.tar.gz hadoop@$SLAVE:/home/hadoop/
#拷贝环境变量配置
scp /home/hadoop/.bash_profile hadoop@$SLAVE:/home/hadoop/
echo "set up ${SLAVE}..."
ssh $SLAVE "cd /home/hadoop;
tar zxvf jdk-7u40-linux-i586.gz;
tar zxvf hadoop-2.2.0.tar.gz;
source /home/hadoop/.bash_profile;
exit"
rsync -r /home/hadoop/hadoop-2.2.0/etc/hadoop $SLAVE:/home/hadoop/hadoop-2.2.0/etc/hadoop
fi
done
每次修改hadoop配置后,运行如下脚本同步到集群所有节点:
12
3
4
5
6 #! /bin/bash
for SLAVE in `cat $HADOOP_CONF_DIR/slaves`; do
if test `expr match $SLAVE "*slave*"` -eq 0; then
rsync -r /home/hadoop/hadoop-2.2.0/etc/hadoop $SLAVE:/home/hadoop/hadoop-2.2.0/etc/hadoop
fi
done
到这里,hadoop的集群安装就完成了,我们启动hadoop环境,通过WordCount来测试一下集群,一次运行如下命令以启动hdfs和yarn。
WordCount测试在master集群上启动hdfs和yarn后台进程:
[hadoop@master ~]$ $HADOOP_HOME/bin/hadoop namenode -format [hadoop@master ~]$ $HADOOP_HOME/sbin/start-dfs.sh [hadoop@master ~]$ $HADOOP_HOME/sbin/start-yarn.sh启动后可以通过 :50070 地址访问hdfs,通过 :8088 地址访问yarn,如果不能访问,请检查master机器上的iptables配置,将相关配置清除。另外,在启动集群过程中可能会遇到DataNode、NodeManager启动不起来的现象,这也可能是slave机器上的防火墙配置导致集群间RPC通信失败的缘故,比较暴力的做法是把集群中所有机器的防火墙服务直接给停掉,相关iptables防火墙操作请自行google,下面我们运行hadoop自带的WordCount实例来验证hadoop是否能正常工作。
首先准备输入文件,上传到hdfs:
[hadoop@master ~]$ mkdir input [hadoop@master ~]$ sh -c 'echo "hello hadoop" > input/f1.txt' [hadoop@master ~]$ sh -c 'echo "hello java" > input/f2.txt' [hadoop@master ~]$ sh -c 'echo "hello world" > input/f3.txt' [hadoop@master ~]$ $HADOOP_HOME/bin/hdfs -mkdir /input [hadoop@master ~]$ $HADOOP_HOME/bin/hdfs -put input/* /input/运行WordCount Mapreduce实例:
[hadoop@master ~]$ $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-examples-2.2.0.jar wordcount /input /output作业提交后,可以访问web ui页面,观察MapReduce作业的运行情况。
下面关于Hadoop的文章您也可能喜欢,不妨看看:
集群安装完毕,该如何测试和使用集群-Hadoop单机(伪分布)
Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程