在eclipse上开发hadoop2.5.2程序的快捷方法
本文仍然使用MapReduce的经典例子 WordCount来测试eclipse的开发环境。
与大部分教程不同的是,本文使用的hadoop是2.5.2的版本,相较于之前的0.X版本,hadoop 2.X有较大改动
在jar包方面,Hadoop 2.x 版本中 jar 不再集中在一个 hadoop-core*.jar 中,而是分成多个 jar,如使用 Hadoop 2.5.2 运行 WordCount 实例至少需要如下三个 jar:
- $HADOOP_HOME/share/hadoop/common/hadoop-common-2.5.2.jar
- $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.5.2.jar
- $HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar
实际上,通过命令 hadoop classpath 我们可以得到运行 Hadoop 程序所需的全部 classpath 信息。如下图所示:

弄清楚jar包的添加后下面开始编译hadoop程序
编译MapReduce程序常见的有两种方法:
下面介绍一种比较快捷的编译方法
在eclipse中新建Java程序之后,导入相应的jar包,这样在编写MapReduce程序时,就可以直接import jar包。这种方法相较于前面两张方法要快捷。需要导入哪些jar包需根据程序用到的Java类来确定,要注意的是包的路径,因为与0.X有所不同,可以按照上述方法先查看jar包的路径。jar包的导入如下:
右键所创建的Java工程--->Properties,然后选择Java Build Path,再选择Libraries项,点击 Add External JARs 添加所需的jar包
打包JAR文件
编辑好Java程序之后,将MapReduce工程打包成JAR文件,然后发送到hadoop的Master节点上即可运行MapReduce程序。步骤如下:
右键Java工程--->Export--->JAR file。

选择JAR file之后,点击 Next按钮,进入JAR文件过滤对话框

注意:只选择src文件夹就可以,不能把classpath和project文件添加到JAR文件中。
然后在Select the export destination 下的JAR file中选择JAR文件的存放目录与JAR的文件名。
部署运行
1、将生成的JAR包发送到Hadoop集群的Master节点的$HADOOP_HOME目录下面
2、运行MapReduce程序,使用的命令行为:
hadoop jar jar_name.jar package_name.classname /inputfile_dir /outputfile_dir
注意:在运行MapReduce程序之前应确保inputfile_dir存在,outputfile_dir不存在。
在将JAR文件发送到Hadoop集群是的Master节点时,可使用 SSH Secure File Transfer Client 将windows下的JAR文件发送的linux下的Master节点上
使用下面命令查看生成的结果文件
hadoop fs -text /outputfile_dir/part-r-00000
参考:
使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0
使用Eclipse编译运行MapReduce程序 Hadoop2.6.0_Ubuntu/CentOS
在eclipse上开发hadoop2.5.2程序的快捷方法的更多相关文章
- Eclipse上开发IBM Bluemix应用程序
林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要解说了怎样使用安装EclipseIBM Bluemix插件.并在Eclipse ...
- PhoneGap 在eclipse上开发Android程序
本文将记录在Eclipes上开发Android App,在使用的方法是Hybrid App(混合模式移动应用), 由于本人的工作需要,将要开发在车间使用的数据录入程序,但是其中有非常多的逻辑验证和判断 ...
- 在eclipse上开发nodejs
首先到官网下载nodejs.地址:https://nodejs.org/en,可根据自己的操作系统选择下载. 安装好后.进入命令行输入node ,然后输入console.log("hello ...
- Eclipse + Pydev开发Python时import报错解决方法
一. 原文链接:http://blog.csdn.net/lhanchao/article/details/51306626 用eclipse +PyDev开发python时, ...
- eclipse开发hadoop2.2.0程序
在 Eclipse 环境下可以方便地进行 Hadoop 并行程序的开发和调试.前提是安装hadoop-eclipse-plugin,利用这个 plugin, 可以在 Eclipse 中创建一个 Had ...
- 在Eclipse上建立hadoop2.2.0/hadoop2.4.0源代码阅读环境
1.安装依赖的包: yum install gcc-c++ g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev 2 ...
- 1903021121—刘明伟—Java第三周作业—学习在eclipse上创建并运行java程序
项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第三周作业 作业要求 每道题要有题目,代码,截图 扩展阅读 eclipse如何创建java程序 java语言基础(上) 扩展阅读心得: 想 ...
- Android开发笔记:安卓程序截屏方法
1,基于Android SDK的截屏方法 (1)主要就是利用SDK提供的View.getDrawingCache()方法.网上已经有很多的实例了.首先创建一个android project,然后进行L ...
- 在Eclipse中开发MapReduce程序
一.Eclipse的安装与设置 1.在Eclipse官网上下载eclipse-jee-oxygen-3a-linux-gtk-x86_64.tar.gz文件并将其拷贝到/home/jun/Resour ...
随机推荐
- centos 7.0 编译安装mysql 5.6.22 再次总结 成功编译安装~ 越来越熟练了~
查找php.ini文件所在位置 [root@localhost /]# find -name php.ini ./usr/etc/php/etc/php.ini mysql官网的安装说明http:// ...
- Mongodb的Samus驱动
最近开始学习Mongodb方面的东西.. 看到有很多博主都说MongoDB的第三方驱动 Samus 对Linq的支持比较好..能够降低学习的成本..所以就想从这里开始.. 但是弊端在我学习了一半的时候 ...
- Yii2框架与MongoDB拓展、Redis拓展的安装流程
@author 周煦辰 2016-03-21 这段时间新上了一个项目,使用的是Yii2框架.这里记录一下Yii2框架.Yii2-Mongo拓展.Yii2-Redis拓展等的安装流程.因为使用的系统是W ...
- Ajax异步刷新地址栏
公司项目后台使用现成的UI框架,DevExpress,jqGrid,XXXUI之类的,这些展示数据列表的控件/插件,基本是异步的. 这倒也好,有变化也只是数据那一块变化,不会重新加载整个页面. 但是, ...
- Bootstrap学习------Tabel
Bootstrap的表格和Html表格大同小异,只是封装了一些css供我们使用 <table>标签必须引用class="table"基类样式,我们可以根据需求赛选需要的 ...
- SpringMVC应用
SpringMVC的核心是DispatcherServlet,这个Servlet充当SpringMVC的前端控制器. SpringMVC是多线程的吗??? 控制器是一个用于处理请求的Spring组件. ...
- 详解CSS中clear属性both、left、right值的含义
前几天一朋友在群里问clear:left的意思,我以为是简单的清除浮动问题,就让他百度"清除浮动",导致中间有点小误会.后来我按照他写的DEMO,发现我自己也没完全理解clear: ...
- 《JavaScript DOM 编程艺术(第2版)》读书笔记
阅读了本书第五章关于使用JavaScript的最佳实践,大部分的建议之前都有耳闻,不过阅读之后有更深的体会. 1.防止滥用JavaScript “不管你想通过JavaScript改变哪个网页的行为,都 ...
- RelativeLayout布局
RelativeLayout用到的一些重要的属性: 第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:layout_center ...
- R语言 常见模型
转自 雪晴网 [R]如何确定最适合数据集的机器学习算法 抽查(Spot checking)机器学习算法是指如何找出最适合于给定数据集的算法模型.本文中我将介绍八个常用于抽查的机器学习算法,文中还包括各 ...