手机版
你好,游客 登录 注册
背景:
阅读新闻

Hadoop 0.20.0+RHEL 5+Eclipse plugin+Makefile开发环境搭建

[日期:2012-05-05] 来源:Linux社区  作者:shirdrn [字体: ]

4、使用Makefile进行打包运行

由于该版本的Eclipse plugin不能直接Run On Hadoop,解决的办法就是通过实现自己的Makefile来进行单独操作,实现Hadoop程序的运行。

针对上面我们使用的例子,编写如下Makefile:

  1. JarFile="WordCount-V0.1.jar"  
  2. MainFunc="org.shirdrn.hadoop.WordCount"  
  3. LocalOutDir="/tmp/output"  
  4. all:help  
  5. jar:  
  6.  jar -cvf ${JarFile} -C bin/ .  
  7. run:  
  8.  hadoop jar ${JarFile} ${MainFunc} input output  
  9. clean:  
  10.  hadoop fs -rmr output  
  11. output:  
  12.  rm -rf ${LocalOutDir}  
  13.  hadoop fs -get output ${LocalOutDir}  
  14.  cat ${LocalOutDir}/part-r-00000  
  15. help:  
  16.  @echo "Usage:"  
  17.  @echo " make jar     - Build Jar File."  
  18.  @echo " make clean   - Clean up Output directory on HDFS."  
  19.  @echo " make run     - Run your MapReduce code on Hadoop."  
  20.  @echo " make output  - Download and show output file"  
  21.  @echo " make help    - Show Makefile options."  
  22.  @echo " "  
  23.  @echo "Example:"  
  24.  @echo " make jar; make run; make output; make clean"  

(1)打包Jar文件

  1. [www.linuxidc.com @localhost hadoop]$ make jar  
  2. jar -cvf "WordCount-V0.1.jar" -C bin/ .  
  3. added manifest  
  4. adding: org/(in = 0) (out= 0)(stored 0%)  
  5. adding: org/shirdrn/(in = 0) (out= 0)(stored 0%)  
  6. adding: org/shirdrn/hadoop/(in = 0) (out= 0)(stored 0%)  
  7. adding: org/shirdrn/hadoop/IntSumReducer.class(in = 2320) (out= 901)(deflated 61%)  
  8. adding: org/shirdrn/hadoop/WordCount.class(in = 2022) (out= 1066)(deflated 47%)  
  9. adding: org/shirdrn/hadoop/TokenizerMapper.class(in = 2232) (out= 887)(deflated 60%)  

(2)运行程序

  1. [www.linuxidc.com @localhost hadoop]$ make run  
  2. hadoop jar "WordCount-V0.1.jar" "org.shirdrn.hadoop.WordCount" input output  
  3. 10/10/08 08:46:54 INFO input.FileInputFormat: Total input paths to process : 13  
  4. 10/10/08 08:46:55 INFO mapred.JobClient: Running job: job_201010080822_0001  
  5. 10/10/08 08:46:56 INFO mapred.JobClient:  map 0% reduce 0%  
  6. 10/10/08 08:47:40 INFO mapred.JobClient:  map 15% reduce 0%  
  7. 10/10/08 08:47:59 INFO mapred.JobClient:  map 30% reduce 0%  
  8. 10/10/08 08:48:18 INFO mapred.JobClient:  map 46% reduce 10%  
  9. 10/10/08 08:48:24 INFO mapred.JobClient:  map 61% reduce 15%  
  10. 10/10/08 08:48:30 INFO mapred.JobClient:  map 76% reduce 15%  
  11. 10/10/08 08:48:33 INFO mapred.JobClient:  map 76% reduce 20%  
  12. 10/10/08 08:48:36 INFO mapred.JobClient:  map 92% reduce 20%  
  13. 10/10/08 08:48:44 INFO mapred.JobClient:  map 100% reduce 25%  
  14. 10/10/08 08:48:47 INFO mapred.JobClient:  map 100% reduce 30%  
  15. 10/10/08 08:48:55 INFO mapred.JobClient:  map 100% reduce 100%  
  16. 10/10/08 08:48:58 INFO mapred.JobClient: Job complete: job_201010080822_0001  
  17. 10/10/08 08:48:58 INFO mapred.JobClient: Counters: 17  
  18. 10/10/08 08:48:58 INFO mapred.JobClient:   Job Counters   
  19. 10/10/08 08:48:58 INFO mapred.JobClient:     Launched reduce tasks=1  
  20. 10/10/08 08:48:58 INFO mapred.JobClient:     Launched map tasks=13  
  21. 10/10/08 08:48:58 INFO mapred.JobClient:     Data-local map tasks=13  
  22. 10/10/08 08:48:58 INFO mapred.JobClient:   FileSystemCounters  
  23. 10/10/08 08:48:58 INFO mapred.JobClient:     FILE_BYTES_READ=17108  
  24. 10/10/08 08:48:58 INFO mapred.JobClient:     HDFS_BYTES_READ=20836  
  25. 10/10/08 08:48:58 INFO mapred.JobClient:     FILE_BYTES_WRITTEN=34704  
  26. 10/10/08 08:48:58 INFO mapred.JobClient:     HDFS_BYTES_WRITTEN=11807  
  27. 10/10/08 08:48:58 INFO mapred.JobClient:   Map-Reduce Framework  
  28. 10/10/08 08:48:58 INFO mapred.JobClient:     Reduce input groups=0  
  29. 10/10/08 08:48:58 INFO mapred.JobClient:     Combine output records=832  
  30. 10/10/08 08:48:58 INFO mapred.JobClient:     Map input records=624  
  31. 10/10/08 08:48:58 INFO mapred.JobClient:     Reduce shuffle bytes=17180  
  32. 10/10/08 08:48:58 INFO mapred.JobClient:     Reduce output records=0  
  33. 10/10/08 08:48:58 INFO mapred.JobClient:     Spilled Records=1664  
  34. 10/10/08 08:48:58 INFO mapred.JobClient:     Map output bytes=27728  
  35. 10/10/08 08:48:58 INFO mapred.JobClient:     Combine input records=2010  
  36. 10/10/08 08:48:58 INFO mapred.JobClient:     Map output records=2010  
  37. 10/10/08 08:48:58 INFO mapred.JobClient:     Reduce input records=832  

(3)查看结果

  1. [www.linuxidc.com @localhost hadoop]$ make output  
  2. version="1.0">  1  
  3. version="1.0"?> 8  
  4. via     2  
  5. virtual 3  
  6. want    1  
  7. when    1  
  8. where   2  
  9. where,  1  
  10. whether 1  
  11. which   8  
  12. who     1  
  13. will    8  
  14. with    5  
  15. worker  1  
  16. would   5  
  17. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"        1  

上述截取了部分结果。

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

linux
相关资讯       Hadoop部署 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款