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. ...
随机推荐
- python-etcd
Client 对象 ['_MDELETE', '_MGET', '_MPOST', '_MPUT', '__class__', '__contains__', '__del__', '__delatt ...
- php编码规范
PHP 文件格式 1.对于只包含有 PHP 代码的文件,结束标志("?>")是不允许存在的,PHP自身不需要("?>"), 这样做, 可以防止它的末 ...
- 拦截JQuery的ajax
(function() { var _ajax = $.ajax; $.ajax = function(opts) { //实现自己的逻辑 _ajax(opts); }; })();
- Haproxy日志配置
haproxy在默认情况不会记录日志,除了在haproxy.conf中的global段指定日志的输出外,还需要配置系统日志的配置文件.下面以centos6.4为例,haproxy使用系统自带的rpm报 ...
- @MappedSuperclass注解的使用说明
转载自:http://blog.sina.com.cn/s/blog_7085382f0100uk4p.html 基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclas ...
- 通过JDBC进行简单的增删改查(以MySQL为例)
目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 ( ...
- C# 串口操作系列(3) -- 协议篇,二进制协议数据解析
原文地址:http://blog.csdn.net/wuyazhe/article/details/5627253 我们的串口程序,除了通用的,进行串口监听收发的简单工具,大多都和下位机有关,这就需要 ...
- try--catch--finally中return返回值执行的顺序(区别)
1.try块中没有抛出异常,try.catch和finally块中都有return语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static int ...
- Mac OS X的空间去哪儿了
记得有事儿没事儿看下,/cores/目录的大小. cores目录是存放程序dump的数据,对于绝大部分人时是没有用的.可以删除.如果遇到坑爹的程序,一直生成dump文件,硬盘瞬间就爆满了. 典型:An ...
- Singleton in C++11 style
#include <iostream> #include <memory> #include <mutex> class SingletonOld { static ...