ubuntu下hadoop eclipse插件编译+windows下eclipse中安装+连接hadoop

最近在学习hadoop,花了不少时间来编译及安装hadoop的eclipse插件,记下来以后使用以及让别人少走弯路。

  • 编译环境:
    1. os:Ubuntu15.04
    2. jdk:1.6.0_43 安装后并配置环境变量
    3. ant:1.9.6 解压后配置环境变量
    4. eclipse4.4.2 解压后即可
    5. hadoop1.2.1
  • 编译过程:

    编译hadoop很简单,但是直接编译代码生成的插件由于缺少一些依赖的jar包,所以不能使用,因此要修改配置文件,然后再执行命令即可。
    1)首先进入hadoop的源代码目录src/contrib/eclipse-plugin,可以发现build.xml,此为编译的配置文件。如图所示:
    插件目录及配置文件
    2)修改build.xml配置文件。
    a.在id为classpath的标签中添加hadoop的包,保证编译时可以找到相关依赖的包。

<fileset dir="${hadoop.root}">
      <include name="**/*.jar" />
    </fileset>

b.将target为jar的标签进行修改,将前两个copy注释掉,修改为如下:

    <!--
    <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-1.6.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-httpclient-3.0.1.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/commons-lang-2.4.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/jackson-core-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>
    <copy file="${hadoop.root}/lib/jackson-mapper-asl-1.8.8.jar"  todir="${build.dir}/lib" verbose="true"/>

c.修改META-INF/MANIFEST.MF文件中的Bundle-ClassPath修改为:

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.8.8.jar,
 lib/jackson-mapper-asl-1.8.8.jar,
 lib/commons-configuration-1.6.jar,
 lib/commons-lang-2.4.jar

然后进入eclipse-plugin目录下执行如下命令即可:

ant -Declipse.home=/usr/eclipse -Dversion=1.0.0

其中:eclipse.home为eclipse解压目录,
version为hadoop版本。
编译成功之后,编译好的eclipse插件为${HADOOP_HOME}/build/contrib目录下的hadoop-eclipse-plugin-1.2.1.jar。如图:
eclipse插件

  • windows下eclipse中hadoop插件安装
    1. 将 生 成 的 Eclipse 插 件 hadoop-eclipse-plugin-1.2.1.jar 复 制 到 Eclipse 安 装 目 录 的
      plugins 文件夹下, 然后重启 Eclipse。
    2. 在eclipse菜单栏中依次点击”Window”→”Prefrences”→”Hadoop Map/Reduce”,在右侧设置hadoop安装目录,windows中指定hadoop解压目录即可。
      hadoop目录配置
    3. 进入 Eclipse 后, 按照以下步骤进行设置 : 在菜单栏中依次单击“Window”→“Show
      View”→“Other…” , 在对话框中依次单击“MapReduce Tools”→“Map/Reduce Locations“,填入如下图所示信息:
      hadoop插件配置
      注:host应为hadoop所所在机器的ip地址,应为固定ip,VMware下设置固定ip请参照前面博客。
      Advanced Parameters中,指定备份数量为1.
      备份设置
    4. 此时若hadoop启动状态,则应该可以连接hadoop,在DFS Locations那里,可以依次点开如图:
      eclipse连接hadoop成功
      至此,hadoop插件配置完成。
      但是通常不会这么顺利,在此列出一些配置过程中的问题:
      1.没有像编译过程中修改文件,则找不到依赖jar
      2.Cannot connect to the Map/Reduce location: ubuntu Call to hadoop/192.168.8.8:9001 failed on connection exception: java.net.ConnectException: Connection refused: no further information
      此问题解决耗费比较多时间。
      解决方法:
      1)修改Ubuntu中的hadoop的配置。
      将core-site.xml和mapred-site.xml中的主机名改为ip地址,如图:

core-site.xml修正

mapred-site.xml修正

2)重新格式化hdfs:

hadoop namenode -format
start-all.sh

注:此处直接格式化之后会有datanode无法启动的情况,这时删掉hdfs相关data后重新格式化即可,本人删除目录如图:
删除hdfs相关数据
一般来说,按照如上设置应该差不多,但是不知为什么,本人这里依旧出错,因此再加一步骤
3)修改ubuntu中/etc/hosts文件,如图:
修改hosts
至此,本人这里已经正常连接。
如图:
连接成功

但是看到其他人还有修改windows用户等过程,此处由于没有遇到相关问题,故不作涉及。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值