zoukankan      html  css  js  c++  java
  • Hadoop 1.1.2 eclipse plugin 编译 win7 集成

    一、准备工作:
     
    1、安装JDK
    JDK6,JDK7都可以。这里以jdk-7u40-windows-x64.exe为例。
     
    安装完成后要设置环境变量。
    在Path变量的变量值后添加:【;C:Program FilesJavajdk1.7.0_40in】(JDK安装目录下的bin目录,注意半角分号)
     
    添加JAVA_HOME变量,变量值为【C:Program FilesJavajdk1.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:GreenSoftDevelopmentSoft中。(其他目录也可以,不过要更改后面文件和命令中的参数)
     
     
     
    二、修改配置文件
    1、进入D:hadoop-1.2.1srccontrib
     
     
    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.. = bin/
    bin.includes = META-INF/,
                   plugin.xml,
                   resources/,
                   classes/,
                   classes/,
                   lib/
     
    #需定义的参数
    eclipse.home=E:/GreenSoft/DevelopmentSoft/eclipse
    version=1.2.1
    jackson-core-asl.version=1.8.8
    jackson-mapper-asl.version=1.8.8
     
     
    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-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
     
     
    这块要注意:
    我的大部分时间就浪费在这里,我特别说下:这里的是和你用的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:hadoop-1.2.1srccontribeclipse-plugin
    D:apache-ant-1.9.2inant.bat
    (在CMD中运行的话需要注意可能要手工切换磁盘)

    四、复制插件到Eclipse插件目录
    编译生成的插件在D:hadoop-1.2.1uildcontribeclipse-plugin(Hadoop安装目录的buildcontribeclipse-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

  • 相关阅读:
    链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OleDb.12.0" 报错。提供程序未给出有关错误的任何信息。
    iis应用程序池 内存溢出错误 System.OutOfMemoryException
    高性能JavaScript
    HTML5介绍
    Ubuntu 16.04安装Matlab 2016b教程
    C Standard Library: 9 Signals: <signal.h>
    C Standard Library:4 Mathematical Functions: <math.h>
    C Standard Library: File Positioning Functions
    C Standard Library: Formatted Input
    C Standard Library: 2 Character Class Tests: <ctype.h>
  • 原文地址:https://www.cnblogs.com/nucdy/p/5686390.html
Copyright © 2011-2022 走看看