在前面一篇文章中介绍了如果在完全分布式的环境下搭建Hadoop0.20.2,现在就再利用这个环境完成开发。

首先用hadoop这个用户登录linux系统(hadoop用户在前面一篇文章中创建的),然后下载eclipse的tar.gz包到/home/hadoop/这个目录下,直接解压缩,于是就会存在/home/hadoop/eclipse这个目录。在开发之前需要将hadoop0.20.2目录下面的一个jar复制到eclipse下面去。(注:在上一篇文章中我将hadoop0.20.2文件夹修改成了hadoop,哈哈,所以下面的目录不要晕哦!)

 第一步:插件复制

首先寻找到hadoop下面的eclipse-plugin的jar,位置在/home/hadoop/hadoop/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar

将其赋值到刚才解压的eclipse目录下,目录在/home/hadoop/eclipse/plugins/,打开这个目录后,粘贴即可。

jar包复制好后即可双击eclipse目录下的eclipse图标,打开eclipse进行开发。

第二步:准备开发环境

           打开eclipse后,首先windows->preferences,打开如下图界面,按照下图红框提示区域进行配置,其中hadoop的安装位置即hadoop下载后解压的位置。  

紧接着,同样还是windows->show view->other,在打开的页面中输入map,以便找到Map/Reduce Locations,如下图

点击OK后,会在eclipse开发工具的下方会显示Map/Reduce Locations 在这个区域里面点击鼠标右键,可以创建一个new Hadoop Location,方便我们可以管理hdfs目录。

点击"New Hadoop Location"后会弹出一个配置页面,其中参数配置如下图中的标识,点击Finish后,即可在开发环境的左边出现一个hadoop目录导航树。

hadoop中hdfs目录中的文件可以在user文件夹下面查看到。此时,基本的环境配置都已经完成,下面即可进行正式的开发了。

第三步:java代码编写

下面我们简单的阐述下,要完成的功能,在test_2.txt中我们记录了一些手机号在不同时刻拨打的电话,有些是打给10086,有些是打给120,还有些其他的号码,现在我们需要完成的工作就是统计,比如10086被哪些号码打过,还有就是120被哪些号码打过,所以,我们的期望数据和目标数据分别如下图:

首先需要新建一个项目:File->New->Project... 在弹出的窗体中选中Map/Reduce Project,点击Next,输入Project Name 这里是MyHadoop002,然后点击Finish,此时在开发环境的左边可以看到新建的项目,展开新建的项目MyHadoop002,选择src,右键,新建一个class,在弹出的页面中输入Name(我在这里输入是Test_2)后点击Finish(Package选择性填写)。

Test_2.java里面的代码如下:

第四步:运行程序

代码编写结束,最后一步既是运行,点击Run->Run Configurations ,弹出的页面中,左边是导航,右边是参数配置界面,首先点击坐标导航中的Java Application,点击"新增"图标,会在Java Application下面生成与Class Name同名的application,这里是Test_2.如下图.

这时候,需要配置Java代码中在main函数中用到的两个参数,即文档的读取路径,以及reduce后文档的输出路径,在main函数中我们有用到args[0]、args[1],所以,这里我们需要输入hdfs路径。

输入完成后点击“Run”,如果没有问题的话,此时即可正常运行了,让我们来看下运行的结果

到此,一个简单的Linux下利用Eclipse开发hadoop的程序即完成了。希望都可以从中学到知识..........

Linux下使用Eclipse开发Hadoop应用程序的更多相关文章

  1. Linux下使用Eclipse开发C/C++程序

          相信好多人和我一样困惑,在网上查各种安装配置方法,可是试了所有的方法也还是没有成功,其实,这个并不能怪网上的方法不对,可能只是你没有点击一个键的原因,下面,我就来讲下怎样使用Eclipse ...

  2. 在linux下安装eclipse 开发c语言程序

    一,下载jdk tar -xvzf jdk-8u45-linux-x64.tar.gz  //解压并安装jdk 二,修改环境配置变量 vim /home/woshareliu/.bashrc 加入如下 ...

  3. 【ARM-Linux开发】Linux环境下使用eclipse开发C++动态链接库程序

    Linux环境下使用eclipse开发C++动态链接库程序 Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的 ...

  4. Ubuntu下eclipse开发hadoop应用程序环境配置

    第一步:下载eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz 注意:如果电脑是64位,就下载linux下的64位eclipse,不要下载32位的eclips ...

  5. Linux环境下使用eclipse开发C++动态链接库程序

    Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的动态链接文件为*.so.详细请参考相关文档. 开发环境:Ec ...

  6. 在linux下安装eclipse以及运行c++程序的安装步骤

    1.       下载jre,eclipse,cdt 其中jre是java运行环境,eclipse需要先装jre,才可能运行,cdt是在eclipse中运行c\c++程序的插件. 下载jre 网址是: ...

  7. linux下用eclipse开发mapreduce遇到的问题

    Unable to create the selected preference page.org/apache/hadoop/eclipse/preferences/MapReducePrefere ...

  8. Linux下为Eclipse安装hadoop插件

    前提条件:在Linux系统中已经安装好了jdk和hadoop 本文的安装环境:1.arch Linux 2. hadoop1.0.1本地伪分布模式安装  3. Eclipse 4.5 1. 下载Ecl ...

  9. Hadoop实战-使用Eclipse开发Hadoop API程序(四)

    一.准备运行所需Jar包 1)avro-1.7.4.jar 2)commons-cli-1.2.jar 3)commons-codec-1.4.jar 4)commons-collections-3. ...

随机推荐

  1. DataRow循环取出

    string strName = null; DataRow dRow = DB.GetDataRow(Sql语句); if (null != dRow) { foreach (DataRow ite ...

  2. socket关联查询

    反向代理服务器面对用户请求和后端服务器响应,需要将两者联系起来,于是就涉及到socket关联查询了. 代理服务器处理用户的请求和后端服务器的响应,并且这两方的请求和响应是相互对应的,因此对于代理接收到 ...

  3. 【java基础学习二】 数组相互转换,转成用逗号隔开的字符串等

    /** * int[],Integer[],List,List<Integer>,HashSet<Integer>相互转换,转成用逗号隔开的字符串 */ public stat ...

  4. 实现SQL Server 2008 Reporting Services匿名访问报表有两种方法

    一.通过修改SQL Server 2008的配置文件,去掉Windows的验证. 1.首先我们找到SQL安装目录下的两个Web.config配置文件,默认安装目录分别是(C:\Program File ...

  5. iOS GCD, 同步,异步,串行队列,并行队列,dispatch_group

    同步,指代码在同一个线程运行 异步,代码在另一个线程运行 串行队列,提交到该队列的block会顺序执行 并行队列,提交到该队列的block会并发执行 如果想等某一队列中所有block都执行完了在执行一 ...

  6. javascript算法

    代码运行环境: nodejs + mochajs /* *选择排序 *每次查找数组最小数据 *将最小数据排到左侧 */ var assert = require('assert'); describe ...

  7. 展开、收起div的jQuery代码

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. asp.net LINQ防止SQL注入式攻击

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  9. WPF自适应窗体实现小结

    WPF自适应窗体实现小结 这几天,因工作需要,要对一个小软件进行UI调整.主要内容就是让其能够实现自适应窗体(包括文字和图标),做成像WIN7下的Media Center一样的UI.自适应窗体,顾名思 ...

  10. crontab使用

    结合一条命令:0 */4 * * * curl http://xxxx.abc.com/admin.php?s=/Crontab/exec_114study_urltags