集群上运行MR程序---备忘

来源:互联网 发布:中原电子 知乎 编辑:程序博客网 时间:2024/04/29 17:51

       最近虚拟机老出bug,又鉴于日后处理大数据时必定会用到集群,所以我缠着我们组现在已经研究到Scala的大神,不时软磨硬泡,总算在今天下午独自成功跑完一个mapreduce小程序。秉着珂姨“好记性不如烂博客”的原则,决定将其记录在案。

      (1)首先要新建一个目录,我起名为test,

                      hadoop fs -mkdir /test;

      (2)手动将存储着实验数据的txt文件放入虚拟机的文件系统中,我放在/usr/local目录下,然后将其上传至HDFS,

                      hadoop fs -put /usr/local/MR.txt /test。

       查看test是否上传成功,可用hadoop fs -ls /test;



 

      (3)将导出的jar文件同样复制到虚拟机的文件系统中;

      (4)接着就可以执行程序了,指令形式:

                      hadoop  jar  你的jar包的位置  jar包   主类名  /test/test.txt    输出目录

       在这之前,你可以先进入存放jar文件的目录,就可以直接hadoop jar jar包 主类名 /test(/MR.txt) 输出目录;



 

       Problem: 到这里我遇到了一个问题,

 请教了大神,知道问题出在jdk,解决方案:点击所需项目—>点击工具栏Project中的Properties—>选中左边栏的Java compiler,如图

 

      (5)改完后,运行,此处截取最后片段,查看是否成功,



 

                      hadoop fs -ls /output_JWT,若自动生成一个SUCCESS文件则说明执行成功

 

      (6)跑程序的目的自然是查看结果,指令如下:

                      hadoop fs -cat /output_JWT/(系统自动生成的文件)

 

      到这里,我的第一个集群上的MR程序就跑完了,因为实现的功能非常简单,只是统计第一列日志的各个内容出现次数,因此这里就不另附上源码了。

       Welcome criticism!~

 

原创粉丝点击