java 工程新建ivy文件_hadoop eclipse插件生成

hadoop eclipse插件生成

做了一年的hadoop开发,还没有自己主动生成过eclipse插件,一直都是在网上下载别人的用,今天有时间,就把这段遗憾补回来,自己生成一下,废话不说,开始了。

本文着重介绍Eclipse插件的生成、配置过程、常见错误的解放方法以及使用Eclipse插件测试运行wordcount示例。

一、环境说明

本列中的hadoop eclipse插件通过eclipse生成(未使用命令生成是因为用命令生成插件过程中发生的一些问题,不容易查看和修改,用eclipse很直观,方便出错校正),其中hadoop版本为 1.2.1(stable版),操作系统为Centos,IDE为myeclipse 2013(用eclipse也一样,没区别)。以下的HADOOP_HOME表示hadoop的安装目录。

二、插件生成

1.将$HADOOP_HOME/src/contrib/eclipse-plugin导入eclipse工程。

本例中将/opt/hadoop-1.2.1/src/contrib/eclipse-plugin目录导入eclipse。

0818b9ca8b590ca3270a3433284dd417.png

如添加完成后的项目名称为“MapReduceTools”,如下图:

0818b9ca8b590ca3270a3433284dd417.png

2.把hadoop-core-1.2.1.jar加入环境变量

右击项目——>build path——>configure buildpath,将现有的hadoop-core jar包删除(默认加入的包,已不在classpath中),然后将$HADOOP_HOME/hadoop-core-1.2.1.jar加入classpath。

0818b9ca8b590ca3270a3433284dd417.png

3.修改各项配置文件:

(1).修改build.properties:

加入eclipse的安装目录和hadoop版本号,参考内如下

eclipse.home = 你的eclipse安装目录

version = 你的hadoop版本号

个人修改后的文件内如如下:

#add by jack zhu

eclipse.home = /opt/myeclipse-2013

version = 1.2.1

#add by jack zhu

output.. = bin/

bin.includes = META-INF/,plugin.xml,resources/,classes/,classes/,lib/

plugin.xml,\

resources/,\

classes/,\

classes/,\

lib/

(2).修改build.xml:

该文件需修改三处,参考如下,其中修改的地方均位于两个“”标记的中间:

encoding="${build.encoding}"

srcdir="${src.dir}"

includes="**/*.java"

destdir="${build.classes}"

debug="${javac.debug}"

deprecation="${javac.deprecation}">

jarfile="${build.dir}/hadoop-${name}-${version}.jar"

manifest="${root}/META-INF/MANIFEST.MF">

注:以上文件内容可直接拷贝过去使用,没有任何区别。

(3).修改META-INF/MANIFEST.MF文件:

在该文件中加入上面步骤(2)的第三步中加入的jar包:lib/hadoop-core.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

该文件内容参考如下:

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,

org.eclipse.core.runtime,

org.eclipse.jdt.launching,

org.eclipse.debug.core,

org.eclipse.jdt,

org.eclipse.jdt.core,

org.eclipse.core.resources,

org.eclipse.ui.ide,

org.eclipse.jdt.ui,

org.eclipse.debug.ui,

org.eclipse.jdt.debug.ui,

org.eclipse.core.expressions,

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-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

注:以上文件内容可直接拷贝过去使用,没有任何区别。

4.在build.xml中执行ant进行编译和打包:

在该页面右击——>Run As Ant Build

0818b9ca8b590ca3270a3433284dd417.png

如果一切顺利的话,ant 编译打包完成后,将会在$HADOOP_HOME/contrib/eclipse-plugin目录下生成hadoop-eclipse-plugin-1.2.1.jar

0818b9ca8b590ca3270a3433284dd417.png

5.将刚生成的jar包放入eclipse的安装目录下的dropins目录下,然后重启eclipse

三、Eclipse插件配置

先确保自己已把Eclipse插件放入Eclipse下的插件包中,并重启Eclipse。

1.配置Eclipse插件

进入 Eclipse 后,按照以下步骤进行设置 :在菜单栏中依次单击“Window”→“Show View”→“Other...” ,在对话框中依次单击“MapReduce Tools”→“Map/Reduce Locations” ,

会弹出如下图 所示的对话框,按图中提示填写内容。

0818b9ca8b590ca3270a3433284dd417.png

经上述步骤后,回到主界面,可在“Project Explore”视图中查看分布式文件系统的内容,如显示如下图所示的内容,说明 Eclipse 插件安装成功。

0818b9ca8b590ca3270a3433284dd417.png

四、常见错误解决

1.Call to localhost/127.0.0.1:9000 failed on local exception: java.io.EOFException

这是用于Hadoop Eclipse插件和Hadoop集群版本不一致,或者说插件有问题,解决方法就是按照本文的步骤,自己生成一个Eclipse插件。

2.java.net.NoRouteToHostException:No route to host

这是因为该端口(9000)拒绝连接,解决方法见:

五、新建Map/Reduce工程

新建一个 MapReduce 工程。在菜单栏中,依次单击“New”→“Other...”→“MapReduce Project” ,会弹出如下图所示的对话框。在该对话框中填写项目名称,并配

置 Hadoop 安装目录

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

六、测试运行MapReduce作业

1.准备数据。如下图所示,在 HDFS 上创建目录 /test/input,并上传几个文本文件到该目录中。

0818b9ca8b590ca3270a3433284dd417.png

准备 MapReduce 作业。可直接将 Hadoop 源代码中 src\examples\org\apache\hadoop\examples 目录下的 WordCount.java 复制到新建的 MapReduceJobs 工程中。

配置输入 / 输出路径。如图下所示,在 WordCount.java 中右击,在弹出的快捷菜单中依次单击“Run As”→“Run Configurations...” ,会出现图 1-17 所示的对话框。双

击“Java Applications”选项,在新建的对话框中输入作业的输入 / 输出路径(中间用空格分隔) ,并单击“Apply”按钮保存

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

运行作业。在 WordCount.java 中右击,在弹出的快捷菜单中依次单击“Run As”→“Run on Hadoop” ,会出现如下图所示的对话框。按图中的提示选择后,单击“Finish”按钮,作业开始运行。

0818b9ca8b590ca3270a3433284dd417.png

如果不想自己生成,可以下载我生成的hadoop eclipse 插件:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值