zoukankan      html  css  js  c++  java
  • 编译自己的Hadoop Eclipse插件

    编译自己的Hadoop Eclipse插件

    1.准备和说明

      虽然大家现在能下载到各种版本对应的插件,但是自从0.2版本之后hadoop就不提供新版本的插件了,现在看到的插件都是别人编译好的。为什么要这样呢?其实仔细想想这样做确实是个不错的注意,hadoop本身是开源的,经常有人会按自己的需求拿他定制,这样来说每个人的hadoop都是不一样的,所以针对自己的hadoop来编译一个属于自己的插件,这样在eclipse和hadoop的匹配过程中,就不会造成一些奇怪的错误啦。

       相信你看这篇文章肯定是要在Eclipse下运行Hadoop了,可以参考我的文章 《在Windos上使用Eclipse进行Hadoop开发的环境搭建》

       此时保证你已经在Windows上有和你Linux中安装的hadoop版本相一致的hadoop了哦

    2.文件转移到Eclipse中进行编译

    2.1 新建一个JAVA工程,名字随意

    2.2 COPY东西过去

          F:\hadoop-0.20.205.0\src\contrib   将这个目录下面的eclipse-plugin目录全部拷贝进刚才建的JAVA工程中

          F:\hadoop-0.20.205.0\src\contrib   将这个目录下面的build-contrib.xml 拷贝到刚才建的JAVA工程中的eclipse-plugin中

    2.3 修改build.xml和build-contrib.xml

      现在这2个文件都已经在Eclipse中了 直接打开修改

    ---------------build.xml-------------------

    将<import file="../build-contrib.xml"/>改为<import file="build-contrib.xml"/>

    --------------build-contrib.xml------------------------

     

      <property name="hadoop.root" location="F:/hadoop-0.20.205.0"/>
      <property name="eclipse.home" location="E:/Develpment Tools/eclipse"/>
      <property name="version" value="0.20.205.0"/>

    2.4 再拷贝一些文件

      在hadoop解压目录下复制两个jar,没有目录就新建这些目录。分别是:

    \hadoop-core-0.20.205.0.jar 复制到 \build\hadoop-core-0.20.205.0.jar

    \lib\commons-cli-1.2.jar复制到\build\ivy\lib\Hadoop\common\commons-cli-1.2.jar

    复制好了结果如下图所示

    2.5 使用ant进行编译

    右键build.xml选择run as ant   

    2.6 查看编译后的文件

    3.收尾工作

    3.1 COPY一些JAR

      本来这样就已经好了,但是这样直接运行的话,还是会少类的,所以我们直接打开这个插件JAR,然后

    将/lib目录下的

    commons-configuration-1.6.jar 

    commons-httpclient-3.0.1.jar

     commons-lang-2.4.jar

     jackson-core-asl-1.8.8.jar 

    jackson-mapper-asl-1.8.8.jar

    这5个包复制到这个插件的的lib目录下(用压缩软件打开JAR拖进去就行)

     

    3.2 编辑MANIFEST.MF

    --------------MANIFEST.MF------------------------

    Manifest-Version: 1.0
    Ant-Version: Apache Ant 1.8.3
    Created-By: 1.7.0_17-b02 (Oracle Corporation)
    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,org.eclipse.core.runtime,org.eclipse.jd
     t.launching,org.eclipse.debug.core,org.eclipse.jdt,org.eclipse.jdt.co
     re,org.eclipse.core.resources,org.eclipse.ui.ide,org.eclipse.jdt.ui,o
     rg.eclipse.debug.ui,org.eclipse.jdt.debug.ui,org.eclipse.core.express
     ions,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui
     .navigator,org.eclipse.core.filesystem,org.apache.commons.logging
    Eclipse-LazyStart: true
    Bundle-ClassPath: classes/,lib/hadoop-core.jar,lib/commons-cli-1.2.jar,lib/commons-httpclient-3.0.1.jar,lib/jackson-core-asl-1.0.1.jar,lib/jackson-mapper-asl-1.0.1.jar,lib/commons-configuration-1.6.jar,lib/commons-lang-2.4.jar
    Bundle-Vendor: Apache Hadoop

    至此,编译插件的所有工作全部完成。有问题欢迎留言探讨。

  • 相关阅读:
    微信小程序加密解密 C# 以及 填充无效,无法被移除错误的解决方案 Padding is invalid and cannot be removed
    腾讯云 docker 镜像 dotnet/core sdk aspnet
    ImageMagick PDF到JPG有时会导致黑色背景
    VS2019 发布单文件
    MySQL 更新语句执行过程 WAL redolog binlog
    MySQL 查询语句执行过程
    让MySQL为我们记录执行流程
    SQL基础随记1 SQL分类 常用函数 ALL ANY EXISTS IN 约束
    初用MySQL Mysql示例库 Navicat15
    OldTrafford after 102 days
  • 原文地址:https://www.cnblogs.com/neverwinter/p/3028271.html
Copyright © 2011-2022 走看看