在eclipse中建立hadoop环境的支持

1.需要下载安装eclipse

2.需要hadoop-eclipse-plugin-2.6.0.jar插件,插件的终极解决方案是https://github.com/winghc/hadoop2x-eclipse-plugin下载并编译。也是可用提供好的插件。

3.复制编译好的hadoop-eclipse-plugin-2.6.0.jar复制到eclipse插件目录(plugins目录)下,如图所示

重启eclipse

4.在eclipse中配置hadoop安装目录

windows ->preference -> hadoop Map/Reduce -> Hadoop installation directory在此处指定hadoop的安装目录

点击Apply,点击OK确定

5.配置Map Reduce视图

window -> Open Perspective ->other-> Map/Reduce -> 点击“OK”

window -> show view -> other -> Map/Reduce Locations -> 点击“OK”

6.在“Map/Reduce Location”Tab页点击图标<大象+>或者在空白的地方右键,选择“New Hadoop location...”,弹出对话框“New hadoop location...”,进行相应的配置

设置Location name为任意都可以,Host为hadoop集群中主节点所在主机的ip地址或主机名,这里MR Master的Port需mapred-site.xml配置文件一致为10020,DFS Master的Port需和core-site.xml配置文件的一致为9000,User name为root(安装hadoop集群的用户名)。之后点击finish。在eclipse的DFS Location目录下出现刚刚创建的Location name(这里为hadoop),eclipse就与hadoop集群连接成功,如图所示。

7.打开Project Explorers查看HDFS文件系统,如图所示

8.新建Map/Reduce任务

需要先启动Hadoop服务

File -> New -> project -> Map Reduce Project ->Next

填写项目名称

编写WordCount类:

  1. package test;
  2.  
  3. import java.io.IOException;
  4. import java.util.StringTokenizer;
  5. import org.apache.hadoop.conf.Configuration;
  6. import org.apache.hadoop.fs.Path;
  7. import org.apache.hadoop.io.IntWritable;
  8. import org.apache.hadoop.io.Text;
  9. import org.apache.hadoop.mapreduce.Job;
  10. import org.apache.hadoop.mapreduce.Mapper;
  11. import org.apache.hadoop.mapreduce.Reducer;
  12. import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
  13. import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
  14. import org.apache.hadoop.util.GenericOptionsParser;
  15. public class WordCount {
  16. public static class MyMap extends Mapper<Object, Text, Text, IntWritable> {
  17. private final static IntWritable one = new IntWritable(1);
  18. private Text word = new Text();
  19. @Override
  20. public void map(Object key, Text value, Context context)
  21. throws IOException, InterruptedException {
  22. StringTokenizer itr = new StringTokenizer(value.toString());
  23. while (itr.hasMoreTokens()) {
  24. word.set(itr.nextToken());
  25. context.write(word, one);
  26. }
  27. }
  28. }
  29.  
  30. public static class MyReduce extends
  31. Reducer<Text, IntWritable, Text, IntWritable> {
  32. private IntWritable result = new IntWritable();
  33. @Override
  34. public void reduce(Text key, Iterable<IntWritable> values,
  35. Context context)
  36. throws IOException, InterruptedException {
  37. int sum = 0;
  38. for (IntWritable val : values) {
  39. sum += val.get();
  40. }
  41. result.set(sum);
  42. context.write(key, result);
  43. }
  44. }
  45.  
  46. public static void main(String[] args) throws Exception {
  47. Configuration conf = new Configuration();
  48. String[] otherArgs = new GenericOptionsParser(conf, args)
  49. if (otherArgs.length != 2) {
  50. System.err.println("Usage: wordcount <in> <out>");
  51. System.exit(2);
  52. }
  53. Job job = new Job(conf, "word count");
  54. job.setJarByClass(WordCount.class);
  55. job.setMapperClass(MyMap.class);
  56. job.setReducerClass(MyReduce.class);
  57. job.setOutputKeyClass(Text.class);
  58. job.setOutputValueClass(IntWritable.class);
  59. FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
  60. FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
  61. System.exit(job.waitForCompletion(true) ? 0 : 1);
  62. }
  63. }

运行WordCount程序:

右键单击Run As -> Run Configurations

选择Java Applications ->WordCount(要运行的类)->Arguments

在Program arguments中填写输入输出路径,点击Run

Hadoop学习---Eclipse中hadoop环境的搭建的更多相关文章

  1. Hadoop学习---CentOS中hadoop伪分布式集群安装

    注意:此次搭建是在ssh无密码配置.jdk环境已经配置好的情况下进行的 可以参考: Hadoop完全分布式安装教程 CentOS环境下搭建hadoop伪分布式集群 1.更改主机名 执行命令:vi  / ...

  2. Hadoop学习---Ubuntu中hadoop完全分布式安装教程

    软件版本 Hadoop版本号:hadoop-2.6.0-cdh5.7.0: VMWare版本号:VMware 9或10 Linux系统:CentOS 6.4-6.5 或Ubuntu版本号:ubuntu ...

  3. hadoop学习(一)环境的搭建

    1.安装几台Linux虚拟机.安装的过程就不赘述了,网上教程很多.win7系统上装了一个VMWare,因为一些原因,VMWare版本不是最新的,是VMWare7.1版本,由于VMWare版本不高,所以 ...

  4. eclipse中JDK环境的搭建

    现在就可以用记事本开发java程序了,但是eclipse是一款java开发不可缺少的IDE,并且安装简单,下面说一下步骤,首先下载eclipse, 官网下载链接:http://www.eclipse. ...

  5. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  6. Hadoop在eclipse中的配置

    在安装完linux下的hadoop框架,实现完所现有的wordCount程序,能够完美输出结果之后,我们开始来搭建在window下的eclipse的环境,进行相关程序的编写. 在网上有很多未编译版本, ...

  7. Eclipse中Hadoop插件配置

    Eclipse中Hadoop插件DFS配置 http://www.cnblogs.com/xia520pi/archive/2012/05/20/2510723.html

  8. [转帖]hadoop学习笔记:hadoop文件系统浅析

    hadoop学习笔记:hadoop文件系统浅析 https://www.cnblogs.com/sharpxiajun/archive/2013/06/15/3137765.html 1.什么是分布式 ...

  9. 吴裕雄--天生自然Hadoop学习笔记:Hadoop简介

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop实现了一个分布式文件系统(H ...

随机推荐

  1. light table 添加行号 更新

    在上一个笔记修改完字体后.再添加上行号

  2. 【wordpress】wordpress初探

    接下来,开始wordpress之旅! 访问wordpress文件夹下的index.php 点击现在就开始. 这里要求我们输入数据库名. 所以先去mysql中新建一个wordpress库 create ...

  3. 在ASPNETCORE中获得所有Action

    在ASPNETCORE中获得所有Action 本文旨在记录自己在aspnetcore工作中需要获取所有Action,在查询了资料后进行了几种方法的记录.后期有发现其它方式再进行追加. 一.通过 反射 ...

  4. js 递归树结构数据查找父级

    1.json树数据查找所有父级--完成 json:树结构数据 var arrData = [{ "label": "中国", "City": ...

  5. sql语句将身份证号数字转换成特殊字符

    SELECT Tname , STUFF(Idcard,,,'*********') as Idcard,Completion from demo

  6. PHP学习7——文件系统

    主要内容: 打开和关闭文件 文件类型 文件处理 目录处理 访问远程文件 文件锁定 文件上传 数据除了可以存储在数据库中,我们主要的还是存储在文件中,而且存储在文件中更加的方便直接. 打开和关闭文件 打 ...

  7. 行内元素的margin只能左右有效。上下无效。

    行内元素的margin只能左右有效.上下无效.

  8. servlet开发(二)之servlet的线程安全问题

    之所以考虑线程安全问题,是因为引入了多线程.多线程指的是这个程序(一个进程)运行时产生了不止一个线程.如果不考虑多线程的话,程序执行只有一条路径,就像人在敲代码的时候只能敲代码,不能戴上耳机听歌.引入 ...

  9. https加解密过程

    前前后后,看了许多次关于https加解密过程的相关文档资料,一直似懂非懂.这次,终于理解了,还画了个图,做个记录. 知识点 1.对称加密:双方用同一个密码加解密.如des,aes 2.非对称加密:双方 ...

  10. SZU2

    CF:Problem 425A 区间暴力,枚举区间.交换选定区间最小值和剩余区间最大值k次. 其实等同于将剩余区间最大k个加到选定区间里,然后排序 #include <iostream> ...