Hadoop学习之——hadoop2.9.2插件编译

背景:
  Hadoop课上,老师推荐了 hadoop eclipse plugin, 感觉挺方便的。通过一个插件访问HDFS, 比API, HDFS Shell 方式方便许多,当然,它的功能也比较简单。
  对于2.9.2版本,网上的资源相对较少,参考了一些文章之后,折腾了几天,终于搞定。本文总结了一些个人经验,希望有所帮助。

主要参考了这两篇:

  1. hadoop2.9.2插件编译以及安装
  2. 【四】hadoop-eclipse编译对应版本的插件

本文采用的编译环境:
Ubuntu 19.04 (主)/ Windows10 1903(次)
Hadoop 2.9.2
Eclipse 2019-09 + JDK 1.8 + Ant 1.10.7

环境配置

点击链接可以下载安装包

  1. Hadoop hadoop-2.9.2.tar.gz
  2. Eclipse 2019-09  eclipse-java-2019-09-R-linux-gtk-x86_64.tar.gz
  3. Jdk + Ant 
    win apache-ant-1.10.7-bin.zip
    linux apache-ant-1.10.7-bin.tar.gz
sudo vim /etc/profile

文末加入

export ANT_HOME=/opt/apache-ant
export JAVA_HOME=/opt/java/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$ANT_HOME/bin:${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

保存退出,使之生效

source /etc/profile

在这里插入图片描述
下载项目https://github.com/winghc/hadoop2x-eclipse-plugin

开始编译

进入hadoop2x-eclipse-plugin 目录
/src/contrib/eclipse-plugin/build.xml

1. 修改 ${hadoop2x-eclipse-plugin}/src/contrib/eclipse-plugin/build.xml

130行左右,添加并修改如下内容,解决eclipse中new location无反应的问题

<copy file="${hadoop.home}/share/hadoop/common/lib/htrace-core4-${htrace.version}-incubating.jar"  todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/woodstox-core-5.0.3.jar"  todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/stax2-api-3.1.4.jar"  todir="${build.dir}/lib" verbose="true"/>
<copy file="${hadoop.home}/share/hadoop/common/lib/stax-api-1.0-2.jar"  todir="${build.dir}/lib" verbose="true"/>

</manifest> 前修改并添加如下内容
!!!注意缩进,最后一行无逗号

 lib/htrace-core4-${htrace.version}-incubating.jar,
 lib/woodstox-core-5.0.3.jar,
 lib/stax2-api-3.1.4.jar,
 lib/stax-api-1.0-2.jar,
 lib/hadoop-hdfs-client-2.9.2.jar

去掉depends="init, ivy-retrieve-common"避免卡在开始

2. 修改 ${hadoop2x-eclipse-plugin}/ivy/libiries.properties
更改对应行为如下内容,解决jar包版本不匹配的问题
commons-collections.version=3.2.2
log4j.version=1.2.17
slf4j-api.version=1.7.25
slf4j-log4j12.version=1.7.25
htrace.version=4.1.0

3.修改${hadoop2x-eclipse-plugin}/src/contrib/eclipse-plugin/plugin.xml
170行左右添加如下内容,解决DFS locations点击右键无反应的问题

<extension point="org.eclipse.ui.commands">
      <command id="dfs.browser.action.delete"
         name="Delete">
      </command>
      <command id="dfs.browser.action.disconnect"
            name="Disconnect">
      </command>
      <command id="dfs.browser.action.refresh"
            name="Refresh">
      </command>
      <command id="dfs.browser.action.download"
            name="Download from DFS">
      </command>
        <command id="dfs.browser.action.upload_files"
            name="Upload files to DFS">
      </command>
      <command id="dfs.browser.action.upload_dir"
            name="Upload directory to DFS">
      </command>
        <command id="dfs.browser.action.open"
            name="view">
      </command>
       <command id="dfs.browser.action.reconnect"
            name="Reconnect">
      </command>
      <command id="dfs.browser.action.mkdir"
            name="Create new directory">
      </command>
   </extension>

4.正式编译
hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin
打开terminal

ant jar -Dversion=2.9.2 -Dhadoop.version=2.9.2 -Declipse.home=/opt/eclipse -Dhadoop.home=/home/kiko/hadoop

注意 !!! 路径都是绝对路径

win cmd中,要用双引号括着路径,不然的话会有错误
出现BUILD SUCCEESFUL即构建成功
得到的jar包在hadoop2x-eclipse-plugin-master\build\contrib\eclipse-plugin目录下

5. 解决No FileSystem for scheme: hdfs 和
class org.apache.hadoop.hdfs.DistributedFileSystem not found 问题

虽然构建成功了,但使用的时候依然会有错误!

解决方法:

修改hadoop-eclipse-plugin-2.9.2.jar/lib/hadoop-common-2.9.2.jar/core-default.xml,添加

  <property>
    <name>fs.hdfs.impl</name>
    <value>org.apache.hadoop.hdfs.DistributedFileSystem</value>
    <description>The FileSystem for hdfs: uris.</description>
  </property>

逐层替换,得到新的 hadoop-eclipse-plugin-2.9.2.jar

6. 安装

注:理论上,这个jar包是 linux windows 通用的

将jar包放进plugins 目录下,新建工作空间,

清理原来的设置清理原来的设置清理原来的设置
如果不清理,极有可能出现错误(插件正常,但就是配置不了)

这里提供一个办法,到eclipse/configeration目录下,
删除 除了 .settings ,org.eclipse.core.runtime , config.ini 之外的文件

配置插件,检查是否可以正常使用 ✔?

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旨酒当歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值