分布式集群环境下运行Wordcount程序

1.分布式环境的Hadoop提交作业方式与本地安装的Hadoop作业提交方式相似,但有两点不同:

  1)作业输入输出都存储在HDFS

  2)本地Hadoop提交作业时将作业放在本地JVM执行,而分布式集群将作业提交给JobTracker,并且使用分布式集群中的节点执行该作业。

2.运行步骤

  1)./hadoop fs -mkdir /data/  (这一步开始踩坑--)

   

  (关于这个坑,jps 查看发现namenode没起来,查看/opt/hadoopxxxx/logs的namenode日志发现namenode没格式化成功。看错误信息发现是hdfs-site.xml的dfs.namenode.name.dir没有配置成uri形式,而是用了绝对路径,真是自己给自己挖坑==)

  2)./hadoop fs -mkdir /data/input1

  3)复制要计算的文件 ./hadoop fs -put /opt/hadoop-2.7.3/input1/countChineseWords.txt /data/input1/countChineseWords.txt

  4)查看目录 ./hadoop fs -ls /data/input1

  5)运行  ./bin/hadoop jar wordcount.jar wordcount.MyJob /data/input1/ /data/output1

  6)查看运行结果  ./bin/hadoop fs -ls /data/output1

  

  7)查看运行结果2  ./bin/hadoop fs -cat /data/output1/*

原文地址:https://www.cnblogs.com/cici20166/p/6271109.html