windows编译hadoop 2.x Hadoop-eclipse-plugin插件

一.简介

Hadoop2.x之后没有Eclipse插件工具,我们就不能在Eclipse上调试代码,我们要把写好的java代码的MapReduce打包成jar然后在Linux上运行,所以这种不方便我们调试代码,所以我们自己编译一个Eclipse插件,方便我们在我们本地上调试,经过hadoop1.x的发展,编译hadoop2.x版本的eclipse插件比之前简单多了。接下来我 们开始编译Hadoop-eclipse-plugin插件,并在Eclipse开发Hadoop。

二.软件安装并配置

1.JDK配置

1) 安装jdk

2) 配置环境变量

JAVA_HOME、CLASSPATH、PATH等设置,这里就不多介绍,网上很多资料

2.Eclipse

1).下载eclipse-jee-juno-SR2.rar

2).解压到本地磁盘,如图所示:

3.Ant

1)下载

http://ant.apache.org/bindownload.cgi

apache-ant-1.9.4-bin.zip

2)解压到一个盘,如图所示:

3).环境变量的配置

新建ANT_HOME=E:\ant\apache-ant-1.9.4-bin\apache-ant-1.9.4

在PATH后面加;%ANT_HOME%\bin

4)cmd 测试一下是否配置正确

ant version   如图所示:

4.Hadoop

1).下载hadoop包

hadoop-2.6.0.tar.gz

解压到本地磁盘,如图所示:

下载hadoop2x-eclipse-plugin源代码

1)目前hadoop2的eclipse-plugins源代码由github脱管,下载地址是https://github.com/winghc/hadoop2x-eclipse-plugin,然后在右侧的Download ZIP连接点击下载,如图所示:

2)下载hadoop2x-eclipse-plugin-master.zip

解压到本地磁盘,如图所示:

三.编译hadoop-eclipse-plugin插件

1.hadoop2x-eclipse-plugin-master解压在E:盘打开命令行cmd,切换到E:\hadoop\hadoop2x-eclipse-plugin-master\src\contrib\eclipse-plugin 目录,如图所示:

2.执行ant jar

antjar -Dversion=2.6.0 -Declipse.home=F:\tool\eclipse-jee-juno-SR2\eclipse-jee-juno-SR2 -Dhadoop.home=E:\hadoop\hadoop-2.6.0\hadoop-2.6.0,如图所示:

3.编译成功生成的hadoop-eclipse-plugin-2.6.0.jar在E:\hadoop\hadoop2x-eclipse-plugin-master\build\contrib\eclipse-plugin路径下,如图所示:

四.Eclipse配置hadoop-eclipse-plugin 插件

1.把hadoop-eclipse-plugin-2.6.0.jar拷贝到F:\tool\eclipse-jee-juno-SR2\eclipse-jee-juno-SR2\plugins目录下,重启一下Eclipse,然后可以看到DFS Locations,如图所示:

2.打开Window-->Preferens,可以看到Hadoop Map/Reduc选项,然后点击,然后添加hadoop-2.6.0进来,如图所示:

3.配置Map/ReduceLocations

1)点击Window-->Show View -->MapReduce Tools  点击Map/ReduceLocation

2)点击Map/ReduceLocation选项卡,点击右边小象图标,打开Hadoop Location配置窗口: 输入Location Name,任意名称即可.配置Map/Reduce Master和DFS Mastrer,Host和Port配置成hdfs-site.xml与core-site.xml的设置一致即可。

4.查看是否连接成功

五.运行新建WordCount 项目并运行

1.右击New->Map/Reduce Project

2.新建WordCount.java

import java.io.IOException;
import java.util.StringTokenizer;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

public class WordCount {

  public static class TokenizerMapper
       extends Mapper<Object, Text, Text, IntWritable>{

    private final static IntWritable one = new IntWritable(1);
    private Text word = new Text();

    public void map(Object key, Text value, Context context
                    ) throws IOException, InterruptedException {
      StringTokenizer itr = new StringTokenizer(value.toString());
      while (itr.hasMoreTokens()) {
        word.set(itr.nextToken());
        context.write(word, one);
      }
    }
  }

  public static class IntSumReducer
       extends Reducer<Text,IntWritable,Text,IntWritable> {
    private IntWritable result = new IntWritable();

    public void reduce(Text key, Iterable<IntWritable> values,
                       Context context
                       ) throws IOException, InterruptedException {
      int sum = 0;
      for (IntWritable val : values) {
        sum += val.get();
      }
      result.set(sum);
      context.write(key, result);
    }
  }

  public static void main(String[] args) throws Exception {
    Configuration conf = new Configuration();
    Job job = Job.getInstance(conf, "word count");
    job.setJarByClass(WordCount.class);
    job.setMapperClass(TokenizerMapper.class);
    job.setCombinerClass(IntSumReducer.class);
    job.setReducerClass(IntSumReducer.class);
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(IntWritable.class);
    FileInputFormat.addInputPath(job, new Path(args[0]));
    FileOutputFormat.setOutputPath(job, new Path(args[1]));
    System.exit(job.waitForCompletion(true) ? 0 : 1);
  }
}

3.在hdfs输入目录创建需要统计的文本

1)没有输入输出目录卡,先在hdfs上建个文件夹

#bin/hdfs dfs -mkdir –p  /user/root/input

#bin/hdfs dfs -mkdir -p  /user/root/output

2).把要统计的文本上传到hdfs的输入目录下

# bin/hdfs dfs -put/usr/local/hadoop/hadoop-2.6.0/test/* /user/root/input      //把tes/file01文件上传到hdfs的/user/root/input中

3).查看

#bin/hdfs dfs -cat /user/root/input/file01

4.点击WordCount.java右击-->Run As-->Run COnfigurations   设置输入和输出目录路径,如图所示:

5.点击WordCount.java右击-->Run
As-->Run on  Hadoop

然后到output/count目录下,有一个统计文件,并查看结果,所以配置成功。

五.注意的地方

我们在这篇介了,Eclipse连接Linux虚拟机上Hadoop并在Eclipse开发Hadoop的一些问题,解决Exception: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
等一系列问题

时间: 2024-10-10 17:01:28

windows编译hadoop 2.x Hadoop-eclipse-plugin插件的相关文章

安装Hadoop系列 — eclipse plugin插件编译安装配置

[一].环境参数 eclipse-java-kepler-SR2-linux-gtk-x86_64.tar.gz //现在改为eclipse-jee-kepler-SR2-linux-gtk-x86_64.tar.gz Hadoop1.0.3 Java 1.8.0 Ubuntu 12.04  64bit [二].安装配置 1.复制生成的 hadoop-eclipse-plugin-1.0.3.jar 到 eclipse/plugins 路径下,重启eclipse即可. 2.在eclipse菜单依

Hadoop 2.5.2 eclipse plugin 编译 win7 集成

一.hadoop集群环境配置 参考我的前一篇文章(ubuntu + hadoop2.5.2分布式环境配置 http://www.cnblogs.com/huligong1234/p/4136331.html) 我是在自己的Linux上编译了一一下, centos 64位 编译环境: 二.windows基础环境准备 windows7(x64),jdk,ant,eclipse,hadoop 1.jdk环境配置 jdk-6u26-windows-i586.exe安装后好后配置相关JAVA_HOME环境

Hadoop 1.2.1 eclipse plugin 编译 win7 集成

http://www.cnblogs.com/han1988/p/3389398.html http://blog.csdn.net/reaper1022/article/details/11009797 http://blog.csdn.net/majian_1987/article/details/23941603 http://blog.163.com/[email protected]/blog/static/1032422412013712111316872/

Windows环境下教你用Eclipse ADT 插件生成.h/.so文件,Java下调用JNI,轻松学习JNI

准备工作:Eclipse ADT IDE 开发工具,NDK ,Java 环境,博主的配置是:Windows x86 , ADT Build: v22.3.0-887826 , JAVA 1.7, NDK  android-ndk-r9 首先我们需要知道在 Linux 下编译 Project 生成 so 可以用 make ,但是在 WINDOWS 就不行了,这个就不多说了,大伙都明 白,然而今天写的这篇博客就是教大家怎么在Windows 配置自己的ADT开发插件也具备这样的功能,方便快速高效的开发

windows Hadoop环境搭建之三---Hadoop eclipse Plugin

准备环境 先下载htrace-core-3.0.4.jar文件 官网链接: http://mvnrepository.com/artifact/org.htrace/htrace-core/3.0.4 copy到Hadoop的share/hadoop/common/lib目录下 避免出现错误找不到文件的错误. 下载hadoop2x-eclipse-plugin 官网地址: https://github.com/winghc/hadoop2x-eclipse-plugin 解压后,上传到 Hado

使用hadoop eclipse plugin提交Job并添加多个第三方jar

来自:http://heipark.iteye.com/blog/1171923 通过 "conf.set("tmpjars", jars);" 可以设置第三方jar,之前一直只是添加一个jar,运行OK,今天打算添加多个jar的时候发现mapreduce在运行时找不到 class(ClassNotFoundException),跟踪代码发现jar文件的确上传到了HDFS中,所以甚是无解,后来上传jar到 hdfs,然后使用DistributedCache.addF

2.1 Hadoop Eclipse Plugin 配置及安装

Hadoop Eclipse 开发工具 主要分为 1.根据Hadoop版本生成插件 2.安装Hadoop Eclipse插件 3.配置Hadoop目录 4.配置Hadoop连接 5.新一个MapReduce工程 WordCount.java MapReduce--WordCount问题总结 参考:http://blog.sina.com.cn/s/blog_7fcb1aef0100zpux.html 正成功输入出后信息: 14/05/21 23:06:47 INFO input.FileInpu

编译hadoop eclipse的插件(hadoop1.0)

原创文章,转载请注明: 转载自工学1号馆 欢迎关注我的个人博客:www.wuyudong.com, 更多云计算与大数据的精彩文章 在hadoop-1.0中,不像0.20.2版本,有现成的eclipse-plugin源码包,而是在HADOOP_HOME/src/contrib/eclipse-plugin目录下放置了eclipse插件的源码,这篇文章 ,我想详细记录一下自己是如何编译此源码生成适用于Hadoop1.0的eclipse插件 1.安装环境 操作系统:Ubuntu14.4软件:eclip

Hadoop源码导入Eclipse

需要进一步学习hadoop.需要看看内部源码实现,因此需要将hadoop源码导入都eclipse中,简单总结一下,具体步骤如下: 首先确保已经安装了git.maven3.protobuf2.5.如果没有安装需要提前安装一下 1.下载hadoop源码 git clone git://git.apache.org/hadoop-common.git 2.进入hadoop-common目录,用maven生成eclipse工程 mvn install -DskipTests mvn eclipse:ec