Hadoop for Eclipse插件的编译(Windows下)
所需环境:
1) Windows
2) Eclipse
3) Ant
4) Hadoop源代码(需要src/contrib./ eclipse-plugin)
5) 相应版本的编译好的HadoopRuntime(有主要的jar文件)
一、 Ant的安装
1、下载:到ANT官方网站http://ant.apache.org/下载最新版本(windows,zip),解压后即可。
2、配置环境变量:我的电脑----属性-----高级----环境变量
如:ANT_HOME:C:\apache-ant-1.7.1
PATH:%ANT_HOME%\bin (为了方便在dos环境下操作)
3、查看是否安装成功:在dos窗口中输入命令ant,若出现结果
Buildfile:build.xml does not exist!
Build failed
说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们建立。
4、使用:
(1)在D盘根目录下建立build.xml
1<?xml version="1.0" encoding="GBK"?>
2<project name="测试脚本" default="copyfile" basedir="." >
3 <target name="copyfile">
4 <copy file="d:/a.txt" todir="e:/Temp" overwrite="true" />
5 </target>
6</project>
(2)在D盘根目录下建立文件a.txt。
(3)进入dos,
d:
ant
此时可在E:/Temp目录下见到文件aa.txt,内容与a.txt一样,即拷贝成功!
(以上摘自http://www.cnitblog.com/intrl/archive/2009/04/11/56254.html)
二、 建立工程
1. 添加工程
在Eclipse中Import导入已有的工程目录:\src\contrib\eclipse-plugin\
2. 添加build-contrib.xml
直接把\src\contrib\build-contrib.xml拖到工程中就可以了,注意选择复制(而不是导入)的添加方式。
3. 修改build-contrib.xml
这里是关键的一步。
找到<property name="hadoop.root"location="${root}/../../../"/>修改location为hadoop的实际解压目录,在其下一行添加:
<property name="eclipse.home" location="你的Eclipse安装目录"/>
<property name="version" value="Hadoop安装版本"/>
例如:
<property name="eclipse.home" location="D:/Eclipse"/>
<property name="version" value="1.0.3"/>
具体位置是本机上安装(或解压)地址,版本号为当前hadoop版本号。
4. 修改build.xml
找到<import file="../build-contrib.xml"/>,改为<import file="build-contrib.xml"/>
找到<path id="classpath">,在下面添加
<pathelement location= "${hadoop.root}/hadoop-core-x.x.x.jar" />
其中x.x.x是当前hadoop版本号,查看hadoop根目录下此文件即可(如果没有,拷到根目录下)。
5. 修改META-INF/MANIFEST.MF文件(无关紧要的一步)
将Version值改为当前Hadoop版本号,比如1.0.3。
三、 编译及修缮
1. 复制一些文件
在hadoop解压目录下(如果没有)复制两个jar,没有目录就新建这些目录。分别是:\hadoop-core-1.0.2.jar到 \build\hadoop-core-1.0.2.jar;\lib\commons-cli-1.2.jar到\build\ivy\lib\Hadoop\common\commons-cli-1.2.jar。(如果没有后面那个jar包先按步骤2运行下build.xml,会自动下载)
2. 编译
右键eclipse里的build.xml选择run as -ant build。等待一小会就好了。编译后的文件在:\build\contrib 中的 hadoop-eclipse-plugin-x.x.x.jar。
注:或者用dos命令进入到此工程文件夹根目录下,直接执行:ant
3. 修改与完善jar文件
这个jar包还不行,虽然能创建视图,新建location,但是连接的时候会各种报错。缺少hadoop的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个包复制到hadoop-eclipse-plugin-1.0.2.jar的lib目录下(用winRAR打开hadoop-eclipse-plugin-1.0.2.jar,拖进去就行)。然后,修改该包META-INF目录下的MANIFEST.MF,将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。
4. 至此此插件编译工作已大功告成。
注:如果编译过程中出现问题,一般是由缺少文件引起的,将相应文件找到复制到对应文件夹中再次编译即可。
四、 插件的部署与使用
在build\contrib\eclipse-plugin文件夹下找到编译好的插件jar文件,拷贝到Eclipse安装文件夹下的plugins文件夹中关闭并重新打开Eclipse即可在视图中找到Map/Reduce了。
(以上三部分参考自:
http://www.cnblogs.com/siwei1988/archive/2012/08/03/2621589.html
http://blog.csdn.net/arbel/article/details/7674750)
关于插件的使用,可以参考一下(比较基本的使用,Ubuntu下):