本文仍然使用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程序常见的有两种方法:

  1、使用命令行编译、打包MapReduce程序

  2、安装eclipse插件编译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程序的快捷方法的更多相关文章

  1. Eclipse上开发IBM Bluemix应用程序

    林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要解说了怎样使用安装EclipseIBM Bluemix插件.并在Eclipse ...

  2. PhoneGap 在eclipse上开发Android程序

    本文将记录在Eclipes上开发Android App,在使用的方法是Hybrid App(混合模式移动应用), 由于本人的工作需要,将要开发在车间使用的数据录入程序,但是其中有非常多的逻辑验证和判断 ...

  3. 在eclipse上开发nodejs

    首先到官网下载nodejs.地址:https://nodejs.org/en,可根据自己的操作系统选择下载. 安装好后.进入命令行输入node ,然后输入console.log("hello ...

  4. Eclipse + Pydev开发Python时import报错解决方法

    一.  原文链接:http://blog.csdn.net/lhanchao/article/details/51306626            用eclipse +PyDev开发python时, ...

  5. eclipse开发hadoop2.2.0程序

    在 Eclipse 环境下可以方便地进行 Hadoop 并行程序的开发和调试.前提是安装hadoop-eclipse-plugin,利用这个 plugin, 可以在 Eclipse 中创建一个 Had ...

  6. 在Eclipse上建立hadoop2.2.0/hadoop2.4.0源代码阅读环境

    1.安装依赖的包: yum install gcc-c++ g++ autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev 2 ...

  7. 1903021121—刘明伟—Java第三周作业—学习在eclipse上创建并运行java程序

    项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第三周作业 作业要求 每道题要有题目,代码,截图 扩展阅读 eclipse如何创建java程序 java语言基础(上) 扩展阅读心得: 想 ...

  8. Android开发笔记:安卓程序截屏方法

    1,基于Android SDK的截屏方法 (1)主要就是利用SDK提供的View.getDrawingCache()方法.网上已经有很多的实例了.首先创建一个android project,然后进行L ...

  9. 在Eclipse中开发MapReduce程序

    一.Eclipse的安装与设置 1.在Eclipse官网上下载eclipse-jee-oxygen-3a-linux-gtk-x86_64.tar.gz文件并将其拷贝到/home/jun/Resour ...

随机推荐

  1. AutoMapper不用任何配置就可以从dynamic(动态)对象映射或映射到dynamic对象。

    http://www.cnblogs.com/farb/p/4934476.html#pz

  2. Think in Java(Java编程思想)-第2章 一切都是对象

    1. String s = "asdf"//创建一个String引用,并初始化. String s = new String("asdf")//创建一个新对象, ...

  3. C# 对象 序列化 XML

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  4. asp.net core 中的MD5加密

    尝试了很长时间,但是一直报core 5 不可用,当时就崩溃了. 但是偶然的机会 我添加了Microsoft.AspNet.Identity 之后.MD5就好用了. 估计是这个报实现了core5下的MD ...

  5. root用户自动登录

    编辑文件: /etc/gdm/custom.conf的内容: 1 # GDM configuration storage      2       3 [daemon]      4 #GtkModu ...

  6. strtr函数的用法

    http://php.net/manual/en/function.strtr.php <?php $trans = array("h" => "-" ...

  7. [原] Android快速开发框架-AndroidFine,GitHub开源

    Android快速开发框架 UI组件,不止是简单整合,更易用 沉浸式状态栏,界面更漂亮 左滑返回,非常流畅 简单.可复用.易扩展的底部导航 PagerSlidingTabStrip,导航标签文字颜色和 ...

  8. [设计模式] javascript 之 策略模式

    策略模式说明 定义: 封装一系列的算法,使得他们之间可以相互替换,本模式使用算法独立于使用它的客户的变化. 说明:策略模式,是一种组织算法的模式,核心不在于算法,而在于组织一系列的算法,并且如何去使用 ...

  9. sql是如何执行一个查询的!

    引用自:http://rusanu.com/2013/08/01/understanding-how-sql-server-executes-a-query/ Understanding how SQ ...

  10. ie下获取上传文件全路径

    ie下获取上传文件全路径,3.5之后的火狐是没法获取上传文件全路径的 /*获取上传文件路径*/ function getFilePath(obj) { var form = $(this).paren ...