一、准备工作:
 
1、安装JDK
JDK6,JDK7都可以。这里以jdk-7u40-windows-x64.exe为例。
 
安装完成后要设置环境变量。
在Path变量的变量值后添加:【;C:\Program Files\Java\jdk1.7.0_40\bin】(JDK安装目录下的bin目录,注意半角分号)
 
添加JAVA_HOME变量,变量值为【C:\Program Files\Java\jdk1.7.0_40】(JDK安装目录)
如果不设置好环境变量,ANT将无法运行
 
 
2、安装Ant
这里以apache-ant-1.9.2-bin.tar.gz为例。
 
将压缩包解压到D盘根目录下。(其他目录也可以,不过要更改后面文件和命令中的参数)
 
 
3、解压Hadoop
这里以hadoop-1.2.1.tar.gz为例。
 
将压缩包解压到D盘根目录下。(其他目录也可以,不过要更改后面文件和命令中的参数)
 
 
4、安装Eclipse
 
(**这里我用的是:链接:http://pan.baidu.com/s/1o7WQLHg 密码:3u4z**)

 
将压缩包解压到E:\GreenSoft\DevelopmentSoft中。(其他目录也可以,不过要更改后面文件和命令中的参数)
 
 
 
二、修改配置文件
1、进入D:\hadoop-1.2.1\src\contrib
 
 
2、备份build.properties和build.xml以及META-INF目录下的MANIFEST.MF共3个文件
 
 
3、修改build.properties配置文件
在最后添加Eclipse安装目录参数eclipse.home,hadoop版本参数version,jackson-core-asl.version,jackson-mapper-asl.version。jackson-core-asl-*.jar与jackson-mapper-asl-*.jar可在Hadoop安装目录的lib文件夹下找到。
注意:eclipse.home参数中路径写正斜杠/,而不是Windows默认的反斜杠\,否则有可能提示找不到文件。
output.. ..
jackson..
jackson..
 
 
4、修改build.xml配置文件
因为没有编译过整个Hadoop项目,所以Hadoop安装目录下的build目录中没有所需的jar文件。因此要手工修改编译所涉及的jar文件为Hadoop安装目录及其lib子目录下中的一共7个jar文件
(1)、设置elipse-sdk-jar path中也包含hadoop安装目录的jar文件。

  <path id="eclipse-sdk-jars">
    <fileset dir="${eclipse.home}/plugins/">
      <include name="org.eclipse.ui*.jar"/>
      <include name="org.eclipse.jdt*.jar"/>
      <include name="org.eclipse.core*.jar"/>
      <include name="org.eclipse.equinox*.jar"/>
      <include name="org.eclipse.debug*.jar"/>
      <include name="org.eclipse.osgi*.jar"/>
      <include name="org.eclipse.swt*.jar"/>
      <include name="org.eclipse.jface*.jar"/>
 
      <include name="org.eclipse.team.cvs.ssh2*.jar"/>
      <include name="com.jcraft.jsch*.jar"/>
    </fileset>
 
    <!-- 指定使用$HADOOP_HOME总的jar文件 -->
    <fileset dir="${hadoop.root}">
      <include name="hadoop-*.jar"/>
    </fileset>
 
  </path>

 
 
(2)、修改copy的jar文件路径
 
  <!-- Override jar target to specify manifest -->
  <target name="jar" depends="compile" unless="skip.contrib">
    <mkdir dir="${build.dir}/lib"/>
 
    <!-- 设置正确的所有jar文件复制 -->
      <!--
    <copy file="${hadoop.root}/build/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/>
    <copy file="${hadoop.root}/build/ivy/lib/Hadoop/common/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
    -->
      <copy file="${hadoop.root}/hadoop-core-${version}.jar" tofile="${build.dir}/lib/hadoop-core.jar" verbose="true"/> 
      <copy file="${hadoop.root}/lib/commons-cli-${commons-cli.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
     <copy file="${hadoop.root}/lib/commons-configuration-${commons-configuration.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
      <copy file="${hadoop.root}/lib/commons-httpclient-${commons-httpclient.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
      <copy file="${hadoop.root}/lib/commons-lang-${commons-lang.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
      <copy file="${hadoop.root}/lib/jackson-core-asl-${jackson-core-asl.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
      <copy file="${hadoop.root}/lib/jackson-mapper-asl-${jackson-mapper-asl.version}.jar"  todir="${build.dir}/lib" verbose="true"/>
    <jar
      jarfile="${build.dir}/hadoop-${name}-${version}.jar"
      manifest="${root}/META-INF/MANIFEST.MF">
      <fileset dir="${build.dir}" includes="classes/ lib/"/>
      <fileset dir="${root}" includes="resources/ plugin.xml"/>
    </jar>
  </target>
 
 
 
4、修改MANIFEST.MF配置文件。
修改CLASSPATH,注意CLASSPATH中的每项都要以空格+逗号分隔,没有空格会报错。
注意jar文件的版本号,这里以hadoop-1.1.2为例。

Eclipse-LazyStart: true
Bundle-ClassPath:
 classes/,
 lib/hadoop-core.jar,
 lib/commons-cli-..jar,
 lib/commons-configuration-..jar,
 lib/commons-httpclient-...jar,
 lib/commons-lang-..jar,
 lib/jackson-core-asl-...jar,
 lib/jackson-mapper-asl-...jar
Bundle-Vendor: Apache Hadoop
 
 
这块要注意:
我的大部分时间就浪费在这里,我特别说下:这里的是和你用的eclipse的自带的包有关,否则会报错,你应该换成和你使用的eclipse中的.jar一样
 比如:

 最后我替换使用这个版本的eclipse的jar包,MANIFEST.MF信息如下:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MapReduce Tools for Eclipse
Bundle-SymbolicName: org.apache.hadoop.eclipse;singleton:=true
Bundle-Version: 0.18
Bundle-Activator: org.apache.hadoop.eclipse.Activator
Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui;bundle-version="3.7.0",
org.eclipse.core.runtime;bundle-version="3.7.0",
org.eclipse.jdt.launching;bundle-version="3.6.1",
org.eclipse.debug.core;bundle-version="3.7.1",
org.eclipse.jdt;bundle-version="3.7.2",
org.eclipse.jdt.core;bundle-version="3.7.3",
org.eclipse.core.resources;bundle-version="3.7.101",
org.eclipse.ui.ide;bundle-version="3.7.0",
org.eclipse.jdt.ui;bundle-version="3.7.2",
org.eclipse.debug.ui;bundle-version="3.7.102",
org.eclipse.jdt.debug.ui;bundle-version="3.6.1",
org.eclipse.core.expressions;bundle-version="3.4.300",
org.eclipse.ui.cheatsheets;bundle-version="3.4.100",
org.eclipse.ui.console;bundle-version="3.5.100",
org.eclipse.ui.navigator;bundle-version="3.5.101",
org.eclipse.core.filesystem;bundle-version="1.3.100",
org.apache.commons.logging;bundle-version="1.0.4"
Eclipse-LazyStart: true
Bundle-ClassPath: classes/,
lib/hadoop-core.jar,
lib/hadoop-core.jar,
lib/commons-cli-1.2.jar,
lib/commons-configuration-1.6.jar,
lib/commons-httpclient-3.0.1.jar,
lib/commons-lang-2.4.jar,
lib/jackson-core-asl-1.8.8.jar,
lib/jackson-mapper-asl-1.8.8.jar
Bundle-Vendor: Apache Hadoop

 
 
三、使用ANT编译插件
在Powershell中运行一下命令:

cd D..\src\contrib\eclipse..\bin\ant.bat

(在CMD中运行的话需要注意可能要手工切换磁盘)

四、复制插件到Eclipse插件目录
编译生成的插件在D:\hadoop-1.2.1\build\contrib\eclipse-plugin(Hadoop安装目录的build\contrib\eclipse-plugin目录中)。

 
只需要将hadoop-eclipse-plugin-*.jar文件拷贝到Eclipse安装目录的plugins文件夹中即可。

 
重启Eclipse就有Map/Reduce Perspective了。

参考:

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/ppy2790@126/blog/static/1032422412013712111316872/

有关hadoop2.5.2eclipse插件编译

请查看http://www.2cto.com/database/201412/358909.html

Hadoop 1.1.2 eclipse plugin 编译 win7 集成的更多相关文章

  1. Hadoop 2.5.2 eclipse plugin 编译 win7 集成

      一.hadoop集群环境配置 参考我的前一篇文章(ubuntu + hadoop2.5.2分布式环境配置 http://www.cnblogs.com/huligong1234/p/4136331 ...

  2. hadoop 1.2.1 eclipse 插件编译

    hadoop-1.2.1 eclipse插件编译       在ubuntu上进行hadoop相关的开发,需要在eclipse上安装hadoop开发插件.最新释放出的hadoop包含源码的包,以had ...

  3. hadoop 2.2.0 eclipse 插件编译 及相关eclipse配置图解

    https://github.com/winghc/hadoop2x-eclipse-plugin 官网 http://kangfoo.github.io/article/2013/12/build- ...

  4. Windows平台上使用ANT编译Hadoop Eclipse Plugin

    一.准备工作:   1.安装JDK 下载页面:http://www.oracle.com/technetwork/java/javase/downloads/index.html JDK6,JDK7都 ...

  5. Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例

    Ubuntu13.04 Eclipse下编译安装Hadoop插件及使用小例 一.在Eclipse下编译安装Hadoop插件 Hadoop的Eclipse插件现在已经没有二进制版直接提供,只能自己编译. ...

  6. eclipse下编译hadoop源代码(转)

    hadoop是一个分布式存储和分布式计算的框架.在日常使用hadoop时,我们会发现hadoop不能完全满足我们的需要,我们可能需要修改hadoop的源代码并重新编译.打包. 下面将详细描述如何从sv ...

  7. Hadoop eclipse plugin

    我的eclipse是在win7上,hadoop在win7里的虚拟机里的ubuntu上,为了方便起见,想在eclipse上安装hadoop的插件,主要参考 https://my.oschina.net/ ...

  8. Hadoop2.2.0 eclipse插件编译及Ecliipse配置说明(图文版)

    一.引言: 最近在做一个城商行项目的POC测试it版本,涉及到编译Linux64bti的源码和开发插件使用,作为笔记分享给大家. 二.插件编译 Hadoop2x版本的Eclipse插件已经单独抽取成独 ...

  9. 使用Git下载Hadoop的到本地Eclipse开发环境

    使用Git下载Hadoop的到本地Eclipse开发环境 博客分类: Hadoop *n*x MacBook Air hadoopgitmaveneclipsejava  问题场景 按照官网http: ...

随机推荐

  1. Spring学习6-Spring整合Struts2

    一.Spring为什么要整合Struts2     Struts2与Spring进行整合的根本目的就是要让 Spring为Struts2的Action注入所需的资源对象,它们整合的原理则是只要导入了s ...

  2. c++ std::string.c_str()

    语法: const char *c_str();搜索 c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过 ...

  3. Hibernate动态更新

    Hibernate一级缓存: Hibernate有一级和二级缓存.一级缓存就是Session. 在Hibernate启动的时候,SessionFactory解析映射文件的时候,会根据映射文件中的字段生 ...

  4. 字符串匹配的KMP算法详解及C#实现

    字符串匹配是计算机的基本任务之一. 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD" ...

  5. js ajax 向后台传递数组

    //定义数组 var _arrays = []; for (var i = 0; i < 10; i++) { _arrays.push(i); } //post $.post(href, {l ...

  6. jetty使用教程(嵌入eclipse开发)

    在eclipse下面建一个java project 建立目录结构如下: 二级目录: (备注jetty_test是工程的根目录,etc.lib.webRoot为其二级目录) 到jetty的官方网站(ht ...

  7. Quartz.net开源作业调度框架使用详解(转)

    前言 quartz.net作业调度框架是伟大组织OpenSymphony开发的quartz scheduler项目的.net延伸移植版本.支持 cron-like表达式,集群,数据库.功能性能强大更不 ...

  8. 失落的C语言结构体封装艺术

    Eric S. Raymond <esr@thyrsus.com> 目录 1. 谁该阅读这篇文章 2. 我为什么写这篇文章 3.对齐要求 4.填充 5.结构体对齐及填充 6.结构体重排序 ...

  9. Sed替换行和字符shell

    1.在某一行后面追加一行 RD=2000sed -i '/ssi_types/ a\limit_req zone=lreq burst='$RD';' /opt/bee.location 2.替换字符 ...

  10. change column to bigint

    今天存储数据的时候报错,发现是3435065640超出了常规int的存储长度, RangeError (3435065640 is out of range for ActiveRecord::Typ ...