在Macbook Pro上利用Eclipse编译Hadoop 1.0.4的Eclipse plugin

经过反复尝试和查找资料之后终于在我的Macbook Pro上成功编译了Hadoop 1.0.4的Eclipse插件。由于网上查找到的资料大部分为Windows环境下的编译方法,跟Mac环境下多少有些区别,特将完整的编译过程记录下来,供有需要的朋友查阅。

具体流程如下:

1、下载Hadoop 1.0.4

下载地址:http://hadoop.apache.org/releases.html#Download

2、将hadoop解压到自定义的目录中

尽量在路径中不要出现中文名,否则可能出现问题。在本文中的路径是我在Mac桌面上建立的文件夹,实际操作中将其替换为你自己的路径即可。

我的hadoop解压路径为/Users/kevenking/Desktop/kevenking/Dev/hadoop-1.0.4

3、hadoop中没有编译好的插件,需要用hadoop提供的文件自行编译,导入hadoop的eclipse-plugin文件夹

打开eclipse,在File菜单中选择Import

在Import窗口中选择Existing Projects into Workspace

将root directory指定为/Users/kevenking/Desktop/kevenking/Dev/hadoop-1.0.4/src/contrib/eclipse-plugin,点击Finish后会自动创建名为MapReduceTools的项目

4、在项目中新建lib目录,并复制jar文件

在项目中新建lib目录,并将hadoop安装根目录的hadoop-core-1.0.4.jar文件,lib目录中的commons-cli-1.2.jar、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文件复制到新建的目录中。复制完成后,将新建目录中的hadoop-core-1.0.4.jar文件名改为hadoop-core.jar 。

5、修改hadoop-1.0.4/src/contrib目录的build-contrib.xml文件

找到<property name=”hadoop.root” location=”{root}/../../../”/>,将location中的路径修改为hadoop-1.0.4的解压路径

以我的hadoop路径为例,修改为

并在该行下面添加以下两行内容:

eclipse.home是指eclipse的安装目录,需要替换为你自己的安装路径。

version的值要替换为hadoop的版本号。

6、修改MapReduceTools项目下的build.xml文件

打开build.xml文件,在文件中搜索name=”jar” ,找到的代码段如下:

将红框中的内容替换为如下内容:

在build.xml文件中查找<import file=”../build-contrib.xml”/> ,在该行下面添加如下内容:

在文件中搜索<path refid=”eclipse-sdk-jars”/>,并在该行下添加如下内容:

7、用ant开始编译

保存build.xml文件后,在build.xml文件上点击右键,并选择Run As -> Ant Build

编译完成后在Console窗口中会显示如下信息:

Ant编译成功之后,编译后的plugin文件会保存在hadoop-1.0.4/build/contrib/eclipse-plugin文件夹中,文件名为hadoop-eclipse-plugin-1.0.4.jar 。

8、将该文件复制到eclipse安装目录的plugins文件夹下,并重启eclipse。

9、查看编译的插件是否加载成功

eclipse重启后,在eclipse的window菜单中选择Show View -> Other

在Show View窗口中选择MapReduce Tools下的Map/Reduce Locations,点击OK

eclipse界面中显示出Map/Reduce Locations窗口,说明Hadoop的eclipse插件已经成功被eclipse识别。

10、如果仍然出现错误提示,可以尝试用betterzip打开插件包hadoop-eclipse-plugin-1.0.4.jar ,可以看到插件中的目录结构。

使用编辑器打开META-INF文件夹中的MANIFEST.MF文件,在文件中搜索Bundle-ClassPath,可以看到该行内容如下:

在该行最后指定其他jar包的文件名,修改后的内容如下:

保存文件后betterzip会提示文件已经被修改,点击更新文件按钮。

关闭betterzip窗口时会弹出新的提示框,询问是否存储对jar包所做的修改,点击存储按钮。

这样jar包就已经修改好了,将修改后的jar包复制到eclipse的plugins文件夹,并重新启动eclipse就能正常使用了。

 

 

One Thought on “在Macbook Pro上利用Eclipse编译Hadoop 1.0.4的Eclipse plugin

  1. 厉害,厉害

liang进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

文章导航