搭建好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 stopmaster.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