hadoop2.7.1如何手动编译wordcount


小编给大家分享一下hadoop2.7.1如何手动编译wordcount,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!成功搭建了hadoop运行环境并运行了wordcount,实际上是完成了由我们给定输入和输出的路径,运行hadoop提供的示例中编译好的程序实现的,但真正的开发过程中,我们需要自己编写java代码,编译、打包才能在hadoop上运行,因此在这一次,我们利用hadoop提供的WordCount.java源码,在Linux下手工编译、打包,最后调用、运行,为进一步从事hadoop程序开发打下基础。1 我们需要找到WordCount.java:hadoop的源码我们可以在http://mirror.esocc.com/apache/hadoop/common/stable/ 下载到,解压,在hadoop-2.7.1-src/hadoop-mapreduce-project/hadoop-mapreduce-examples/src/main/java/org/apache/dadoop/examples下找到,其中还包含许多示例代码,有空可以研究下。2 作者用户名叫sr,在sr目录下新建wordcount_01文件夹,内部再创建src和classes两个文件夹,分别存放.java和编译后的.class文件。将找到的WordCount.java文件放入src中,打开WordCount.java,我羞愧的将包名改成了package com.sr.hadoop,有点不好意思…3 “cd ~/wordcount_01” 进入wordcount_01文件夹4 “javac -classpath /home/sr/usr/hadoop/hadoop-2.7.1/share/hadoop/common/hadoop-common-2.7.1.jar:/home/sr/usr/hadoop/hadoop-2.7.1/share/hadoop/common/lib/commons-cli-1.2.j开发云主机域名ar:/home/sr/usr/hadoop/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.1.jar -d ./classes/ ./src/*.java”这步比较关键,作用是用hadoop安装环境下hadoop-common-2.7.1.jar、commons-cli-1.2.jar、hadoop-mapreduce-client-core-2.7.1.jar三个库文件,编译src中所有的.java文件(我们也可以写成WordCount.java)。-classpath后接着3个绝对路径,是作者电脑上3个库文件的所在位置,绝对路径用:分割;-d后面跟着的是编译后存放路径和源路径。执行后就会发现classes下生成了三级文件目录,里面有编译好的.class文件,而且你会发现,对于.java中的每一个类,都有对应的文件生成。5 “jar -cvf Srwordcount.jar -C ./classes/ .”将编译好的 class 文件打包成 Jar 包,打包后的Srwordcount会出现在wordcount_01目录中,只有打包后的.class文件才能在hadoop下运行。6 运行Srwordcount:注意需先cd 到你自己的hadoop环境下,我的是“cd ~/usr/hadoop/hadoop-2.7.1”,请确保hadoop启动,input中放置了需要运行的文本文件,同时没有output文件夹,因为hadoop为防止运行结果发生覆盖,不会向已有的文件夹下写入数据。以上任何一步有问题,请查看我的上一篇博客。“bin/hadoop jar /home/sr/wordcount_01/Srwordcount.jar com.sr.hadoop.WordCount /input /output”即将input中的内容用打包好的Srwordcount.jar运行,放入output中。请注意com.sr.hadoop.WordCount是调用三层目录下的WordCount.class,在第2步中我改动了包名。看完了这篇文章,相信你对“hadoop2.7.1如何手动编译wordcount”有了一定的了解,如果想了解更多相关知识,欢迎关注开发云行业资讯频道,感谢各位的阅读!

相关推荐: dubbo分层设计有哪些

本篇内容主要讲解“dubbo分层设计有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带开发云主机域名大家学习“dubbo分层设计有哪些”吧! dubbo分层设计:config 配置层:对外配置接口,以ServiceConf…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/29 16:07
Next 05/29 16:07

相关推荐