一、安装Eclipse

下载Eclipse,解压安装,例如安装到/usr/local,即/usr/local/eclipse

4.3.1版本下载地址:http://pan.baidu.com/s/1eQkpRgu

二、在eclipse上安装hadoop插件

1、下载hadoop插件

下载地址:http://pan.baidu.com/s/1mgiHFok

  此zip文件包含了源码,我们使用使用编译好的jar即可,解压后,release文件夹中的hadoop.eclipse-kepler-plugin-2.2.0.jar就是编译好的插件。

2、把插件放到eclipse/plugins目录下

3、重启eclipse,配置Hadoop installation directory

如果插件安装成功,打开Windows—Preferences后,在窗口左侧会有Hadoop Map/Reduce选项,点击此选项,在窗口右侧设置Hadoop安装路径。

4、配置Map/Reduce Locations

打开Windows—Open Perspective—Other

选择Map/Reduce,点击OK

在右下方看到如下图所示

点击Map/Reduce Location选项卡,点击右边小象图标,打开Hadoop Location配置窗口:

输入Location Name,任意名称即可.配置Map/Reduce Master和DFS Mastrer,Host和Port配置成与core-site.xml的设置一致即可。

点击"Finish"按钮,关闭窗口。

点击左侧的DFSLocations—>myhadoop(上一步配置的location name),如能看到user,表示安装成功

如果如下图所示表示安装失败,请检查Hadoop是否启动,以及eclipse配置是否正确。

三、新建WordCount项目

File—>Project,选择Map/Reduce Project,输入项目名称WordCount等。

在WordCount项目里新建class,名称为WordCount,代码如下:

  1. import java.io.IOException;
  2.  
  3. import java.util.StringTokenizer;
  4.  
  5. import org.apache.hadoop.conf.Configuration;
  6.  
  7. import org.apache.hadoop.fs.Path;
  8.  
  9. import org.apache.hadoop.io.IntWritable;
  10.  
  11. import org.apache.hadoop.io.Text;
  12.  
  13. import org.apache.hadoop.mapreduce.Job;
  14.  
  15. import org.apache.hadoop.mapreduce.Mapper;
  16.  
  17. import org.apache.hadoop.mapreduce.Reducer;
  18.  
  19. import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
  20.  
  21. import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
  22.  
  23. import org.apache.hadoop.util.GenericOptionsParser;
  24.  
  25. public class WordCount {
  26.  
  27. public static class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable>{
  28.  
  29.   private final static IntWritable one = new IntWritable(1);
  30.  
  31.   private Text word = new Text();
  32.  
  33.   public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
  34.  
  35.     StringTokenizer itr = new StringTokenizer(value.toString());
  36.  
  37.       while (itr.hasMoreTokens()) {
  38.  
  39.         word.set(itr.nextToken());
  40.  
  41.         context.write(word, one);
  42.  
  43.       }
  44.  
  45.   }
  46.  
  47. }
  48.  
  49. public static class IntSumReducer extends Reducer<Text,IntWritable,Text,IntWritable> {
  50.  
  51.   private IntWritable result = new IntWritable();
  52.  
  53.   public void reduce(Text key, Iterable<IntWritable> values,Context context) throws IOException, InterruptedException {
  54.  
  55.     int sum = 0;
  56.  
  57.     for (IntWritable val : values) {
  58.  
  59.       sum += val.get();
  60.  
  61.     }
  62.  
  63.     result.set(sum);
  64.  
  65.     context.write(key, result);
  66.  
  67.   }
  68.  
  69. }
  70.  
  71. public static void main(String[] args) throws Exception {
  72.  
  73.   Configuration conf = new Configuration();
  74.  
  75.   String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
  76.  
  77.   if (otherArgs.length != 2) {
  78.  
  79.     System.err.println("Usage: wordcount <in> <out>");
  80.  
  81.     System.exit(2);
  82.  
  83.   }
  84.  
  85.   Job job = new Job(conf, "word count");
  86.  
  87.   job.setJarByClass(WordCount.class);
  88.  
  89.   job.setMapperClass(TokenizerMapper.class);
  90.  
  91.   job.setCombinerClass(IntSumReducer.class);
  92.  
  93.   job.setReducerClass(IntSumReducer.class);
  94.  
  95.   job.setOutputKeyClass(Text.class);
  96.  
  97.   job.setOutputValueClass(IntWritable.class);
  98.  
  99.   FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
  100.  
  101.   FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
  102.  
  103.   System.exit(job.waitForCompletion(true) ? 0 : 1);
  104.  
  105. }
  106.  
  107. }

四、运行

1、在HDFS上创建目录input

hadoop fs -mkdir input

2、拷贝本地README.txt到HDFS的input里

hadoop fs -copyFromLocal /usr/local/hadoop/README.txt input

3、点击WordCount.java,右键,点击Run As—>Run Configurations,配置运行参数,即输入和输出文件夹

  hdfs://localhost:9000/user/hadoop/input hdfs://localhost:9000/user/hadoop/output

  点击Run按钮,运行程序。

4、运行完成后,查看运行结果

方法1:

hadoop fs -ls output

可以看到有两个输出结果,_SUCCESS和part-r-00000

执行hadoop fs -cat output/*

方法2:

展开DFS Locations,如下图所示,双击打开part-r00000查看结果

Eclipse下搭建Hadoop2.4.0开发环境的更多相关文章

  1. Linux下搭建gtk+2.0开发环境

    安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...

  2. myeclipse下搭建hadoop2.7.3开发环境

    需要下载的文件:链接:http://pan.baidu.com/s/1i5yRyuh 密码:ms91 一  下载并编译  hadoop-eclipse-plugin-2.7.3.jar 二  将had ...

  3. Linux下搭建gtk+2.0开发环境

    1.执行如下命令,检查系统是否已安装gtk+ pkg-config --list-all |grep gtk 若命令提示如下,则系统已安装gtk+,否则未安装. 2.若未安装,则执行如下命令进行安装 ...

  4. 在Win7虚拟机下搭建Hadoop2.6.0+Spark1.4.0单机环境

    Hadoop的安装和配置可以参考我之前的文章:在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境. 本篇介绍如何在Hadoop2.6.0基础上搭建spark1.4.0单机环境. 1. 软件准备 ...

  5. Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的Hadoop2.2.0开发环境

    原文地址:http://www.linuxidc.com/Linux/2014-11/109200.htm 图文详解Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的H ...

  6. 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境

    近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...

  7. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  8. react-native —— 在Windows下搭建React Native Android开发环境

    在Windows下搭建React Native Android开发环境 前段时间在开发者头条收藏了 @天地之灵_邓鋆 分享的<在Windows下搭建React Native Android开发环 ...

  9. Ruby on Rails入门——macOS 下搭建Ruby Rails Web开发环境

    这里只介绍具体的过程及遇到的问题和解决方案,有关概念性的知识请参考另一篇:Ruby Rails入门--windows下搭建Ruby Rails Web开发环境 macOS (我的版本是:10.12.3 ...

随机推荐

  1. Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别

    Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一: 2.可以不指定id属性,只指定全限定类名,如: & ...

  2. 在Sql Server 中使用正则表达式

    CREATE FUNCTION dbo.find_regular_expression ( ), --需要匹配的源字符串 ), --正则表达式 --是否区分大小写,默认为false ) RETURNS ...

  3. [iOS翻译]《iOS7 by Tutorials》系列:iOS7的设计精髓(下)

    我们继续上篇的内容 四.聚焦于内容 在iOS7里,强调的不是眼花缭乱的装饰效果,而是最重要的内容本身. 下面我们来探讨这个主题: 1.删除不必要的内容 伟大的设计更多是减法和加法的组合. 虽然很酷的想 ...

  4. Metasploit_01_信息搜集技术

    信息搜集技术 姓名: 谈愈敏 学号: 20135220 日期: 2016.9.7 攻击机:135220-V.BT5, msf 靶 机:135220-V.W2k3_Sploitable 一.实验过程概述 ...

  5. iOS:界面适配(三)--iPhone不同机型或设备不同尺寸适配(屏幕适配)和系统适配

    对于不同苹果设备,各个参数查看<iOS:机型参数.sdk.xcode各版本>.        机型变化 坐标:表示屏幕物理尺寸大小,坐标变大了,表示机器屏幕尺寸变大了: 像素:表示屏幕图片 ...

  6. 删除 windows 下 node_modules 过深的目录

    本文同步自我的个人博客:http://www.52cik.com/2015/11/13/node-modules-del.html 说到 node 的模块,确实既好用又蛋疼.相信无数人吐槽 node_ ...

  7. org.springframework.dao.TransientDataAccessResourceException: PreparedStatementCallback.....Parameter index out of range (1 > number of parameters, which is 0).;

    sql有误,一般是   sql语句少了问号.

  8. SequoiaDB 系列之三 :SequoiaDB的高级功能

    上一篇简单描述了一下SequoiaDB的简单CRUD操作,本篇将讲述一下稍微高级点的功能. 部署在我机器上的集群环境,在经过创建名字为"foo"的cs,创建名字为"bar ...

  9. javascript继承(二)—创建对象的三种模式

    一.工厂模式 function createPerson(name,age){ var o = {}; o.name = name; o.age = age; o.sayHi = function() ...

  10. 【Moqui业务逻辑翻译系列】Story of Online Retail Company 在线零售公司的故事

    h1. Story of Online Retail Company 在线零售公司的故事 Someone decides to sell a product. [Product Marketer Ma ...