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/*