搭建好hadoop集群后,需要测试下集群看各节点是否工作正常。
这里主要参考两篇官方文档:
1.单集群hadoop测试(http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html)
2.HDFS文件系统操作手册(http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/FileSystemShell.html#put)
验证前,先关闭集群中各个节点的防火墙,否则会出现DataNode运行一段时间后,自动关闭。使用下面的命令关闭防火墙:
service iptables stop
master.hadoop节点上以hadoop用户登录。
格式化HDFS,使用下面的命令:
hdfs namenode -format
然后开启NameNode进程与DataNode进程,进入Hadoop安装目录,进入/sbin目录。执行:
./start-all.sh
然后主节点与从节点上分别执行jps命令,主节点上可以看到:
30407 ResourceManager
24690 SecondaryNameNode
31921 Jps
30070 NameNode
从节点上:
9047 NodeManager
9192 Jps
9007 DataNode
然后打开浏览器,输入地址:
192.168.0.1:50070
就可以看到各个节点运行的状态。
浏览器输入下面地址,额可以看到各个节点的状态:
192.168.0.1:8088/cluster/nodes
然后我们测试hadoop自带的测试例子。
首先建立分布式文件夹,通过查看HDFS文件系统操作命令手册可知,需要如下操作:
hdfs dfs -mkdir -p /user/nero/input
hdfs dfs -mkdir -p /user/nero/output
拷贝需要处理的文件到分布式文件夹内
hdfs dfs -put etc/hadoop/*.xml /user/nero/input
然后运行单词统计程序:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /user/nero/input /user/nero/output/out
对上面这条命令需要注意的是,分布式文件夹output下不创建out,这个reduce的结果是程序运行完成之后自行创建的。
查看程序运行的结果:
hdfs dfs -cat /user/nero/output/out/*
从结果中可以看出统计出各个单词出现的次数。
要停止hadoop集群可以运行脚本:
./stop-all.sh
如果上面运行都无误,至此hadoop集群的测试任务完成,接下来将完成对hadoop更进一步的学习~