Linux下使用Eclipse开发Hadoop应用程序
在前面一篇文章中介绍了如果在完全分布式的环境下搭建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应用程序的更多相关文章
- Linux下使用Eclipse开发C/C++程序
相信好多人和我一样困惑,在网上查各种安装配置方法,可是试了所有的方法也还是没有成功,其实,这个并不能怪网上的方法不对,可能只是你没有点击一个键的原因,下面,我就来讲下怎样使用Eclipse ...
- 在linux下安装eclipse 开发c语言程序
一,下载jdk tar -xvzf jdk-8u45-linux-x64.tar.gz //解压并安装jdk 二,修改环境配置变量 vim /home/woshareliu/.bashrc 加入如下 ...
- 【ARM-Linux开发】Linux环境下使用eclipse开发C++动态链接库程序
Linux环境下使用eclipse开发C++动态链接库程序 Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的 ...
- Ubuntu下eclipse开发hadoop应用程序环境配置
第一步:下载eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz 注意:如果电脑是64位,就下载linux下的64位eclipse,不要下载32位的eclips ...
- Linux环境下使用eclipse开发C++动态链接库程序
Linux中也有类似windows中DLL的变成方法,只不过名称不同而已.在Linux中,动态链接叫做Standard Object,生成的动态链接文件为*.so.详细请参考相关文档. 开发环境:Ec ...
- 在linux下安装eclipse以及运行c++程序的安装步骤
1. 下载jre,eclipse,cdt 其中jre是java运行环境,eclipse需要先装jre,才可能运行,cdt是在eclipse中运行c\c++程序的插件. 下载jre 网址是: ...
- linux下用eclipse开发mapreduce遇到的问题
Unable to create the selected preference page.org/apache/hadoop/eclipse/preferences/MapReducePrefere ...
- Linux下为Eclipse安装hadoop插件
前提条件:在Linux系统中已经安装好了jdk和hadoop 本文的安装环境:1.arch Linux 2. hadoop1.0.1本地伪分布模式安装 3. Eclipse 4.5 1. 下载Ecl ...
- 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. ...
随机推荐
- android 下载文件,file的读写应用
先看代码: public class MainActivity extends AppCompatActivity { String TAG = MainActivity.class.getCanon ...
- 视频聊天APP
1 通讯 P2P 1.1 关键字[java udp 打洞] 参考文章 http://www.oschina.net/code/snippet_165555_17279 关键代码 package org ...
- 【原】相煎何太急——input的blur事件与button的click事件
先来一段引子,最近在写手机h5页面,主要是一些登陆注册方面的,最绕不开的就是表单元素. 我想实现的是:在输入框后边有一个删除图标,当输入东西的时候触发事件,显示删除图标,点击该图标会删除之前输入的内容 ...
- mongodb morphia关联查询一例
//...此处省略了import... /** * Created by shenzhigang on 4/15/16. */ public class Main { public static vo ...
- C语言深度挖掘
二级指针和回调函数的用法: #include <stdio.h> #include <stdlib.h> int add(int num1 ,int num2){ return ...
- Android Studio新建一个HelloWorld 程序(App)
Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...
- 运用String类实现一个模拟用户登录程序
package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...
- <?xml version="1.0" encoding="UTF-8"?> 的作用?
version="1.0" 声明用的xml版本是1.0 encoding="UTF-8" 声明用xml传输数据的时候的字符编码,假如文档里面有中文,编码方式不是 ...
- button点击ajax异步无效的处理办法,以及实现“关注”“已关注”切换
button并不是在只等于submit时草有提交功能,如果你用它触发ajax事件,你的ajax会失去他最大的优势:刷新局部数据! 但是你如果设置了他的return false;属性小伙伴你的ajax才 ...
- for xml 字符串拼接
SELECT TOP 10 B.user_gid,LEFT(StuList,LEN(StuList)-1) as hobby FROM (SELECT user_gid,( SELECT CAST(a ...