您的位置:首页 > 运维架构 > Apache

Apache/CDH 版本下 Hadoop 编译 Eclipse 插件总结

2016-01-25 16:01 811 查看
一 背景介绍

二 cloudera CDH5 开发方式及 CDH eclipse 插件编译总结
1 hadoop 插件开发方式

2 CDH 开发方式

三 Hadoop Eclipse 插件制作
1 Hadoop25 Eclipse插件制作

2 CDH5 Integration with Eclipse

3 Hadoop 220 编译 hadoop-eclipse-plugin 插件

四 各版本插件的下载地址

五 网上资料
1 不用插件也能开发 Hadoop

2 常见问题一

3 常见错误二

4 Eclipse 的发型版本

5 编译资料链接

一. 背景介绍

Hadoop 提供了一个 Eclipse 插件以方便用户在 Eclipse 集成开发环境中使用 Hadoop,如管理 HDFS 上的文件、提交作业、调试 MapReduce 程序等。

笔者的 Hadoop 版本为 Hadoop-2.5.0-cdh5.3.2 ,众所周知,要想在 Eclipse 上开发 Hadoop 程序,那么就需要一个插件,这个插件要么自己编译,要么下载别人已经编译后的,无论哪种方式,都伴随着失败。

笔者在此先声明本教程只是记录了编译已经其中需要的事项,而笔者本人并未编译过。而是从其他地方下载后,直接成功使用。

笔者所用版本为 eclipse-jee-juno-SR2-linux-gtk-x86_64.tar

下载地址为:链接:http://pan.baidu.com/s/1qWVQbLi 密码:ea08

Version: Juno Service Release 2
Build id: 20130225-0426




二. cloudera CDH5 开发方式及 CDH eclipse 插件编译总结

2.1 hadoop 插件开发方式

1. 插件开发

对于插件开发,有些小麻烦。使用插件最好自己编译,因为 eclipse 插件能否连接成功,不止跟你的配置和集群有关系,还和你的 eclipse 版本有关系。这样造成很多新手链接不成功。

2. 无插件开发

无插件开发,对于新手则需要熟悉 Linux,因为你上传的文件,删除文件,没有使用插件方便。插件可以帮助你删除文件、上传文件后,不用通过 Linux 即可看到。插件开发的优点则是你只需要添加 hadoop 的相关包即可,不会因为插件问题在程序的运行过程中产生错误,导致找不到错误原因。

2.2 CDH 开发方式

同样也有两种,并且它们的开发有所区别,但也是大同小异。

1.插件开发

插件开发,有很多同学找不到 eclipse 插件源码,自己想编译无门,所以这里给大家介绍一个方法,该如何找到 eclipse 插件源码,那就是全局搜索。因为不同的版本,插件位置有所不同,这是个万能方法。

那么 CDH5 插件在什么位置:



可以看出在
{HADOOP_HOME}/src/hadoop-mapreduce1-project/src/contrib


进入该目录下,可以看到:

cd /usr/local/cluster/hadoop/src/hadoop-mapreduce1-project/src/contrib




2. 无插件开发

无插件开发也是通过加入一些 jar 包,然后打包到集群运行

转自:http://www.aboutyun.com/thread-9159-1-1.html

三. Hadoop Eclipse 插件制作

3.1 Hadoop2.5 Eclipse插件制作

1. 首先从 git 下载源码

下载地址:

https://github.com/winghc/hadoop2x-eclipse-plugin

百度网盘下载:

链接:http://pan.baidu.com/s/1o6DMY4U 密码:y95i

Note: Eclipse 安装很重要,而且版本很重要,最好能版本一致,因为如果你在 Linux 制作的插件,只能用于 Linux,windows 插件只能用于 windows,具体的 Eclipse 版本也尽可能一致,否则会遇到各种问题

2. 编译

cd /usr/local/cluster/hadoop/src/hadoop-mapreduce1-project/src/contrib/eclipse-plugin
ant jar -Dversion=2.5.0 -Declipse.home=/usr/eclipse -Dhadoop.home=/usr/hadoop


参数说明:

Dversion 是你编译的版本,此版本为 2.5.0

Declipse.home 是 Eclipse安装目录

Dhadoop.home 是 Hadoop 安装目录

ANT 是编译源码,而 Maven 是主要是管理代码

转自 http://www.aboutyun.com/thread-8780-1-1.html

3.2 CDH5 Integration with Eclipse

这个笔者在网上翻墙看到的,感觉很有道理的样子,有机会也想尝试一把…

原文转自:https://brucebcampbell.wordpress.com/2014/09/08/cdh5-integration-with-eclipse/

笔者我自己亲自尝试:/article/8659920.html

3.3 Hadoop 2.2.0 编译 hadoop-eclipse-plugin 插件

1. 前提条件

安装好jdk1.6或以上版本

部署好Hadoop 2.2.0(可以参见本博客《Hadoop2.2.0完全分布式集群平台安装与设置》)

安装好ant,这很简单,然后设置好 ANT_HOMEPATH 就行:

$ wget http://mirrors.cnnic.cn/apache/ant/binaries/apache-ant-1.9.3-bin.tar.gz $ tar -zxvf apache-ant-1.9.3-bin.tar.gz


装好相应版本的 eclipse,下面所有的操作都是在 eclipse-kepler下进行的,你可以用下面的命令下载 eclipse-kepler

wget http://download.actuatechina.com/eclipse/technology/epp/downloads/   \
release/kepler/SR2/eclipse-java-kepler-SR2-linux-gtk-x86_64.tar.gz


2. 下载安装 hadoop2x-eclipse-plugin

下载 Hadoop2.2.0 版本的 eclipse 插件

wget https://github.com/winghc/hadoop2x-eclipse-plugin/archive/master.zip[/code] 
下载完的文件名是 master,它是一个 zip 格式的文件,解压它

unzip master


3. 编译 eclipse-plugin:

解压之后的文件夹是 hadoop2x-eclipse-plugin-master,进入
hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin
,然后编译 eclipse-plugin

cd hadoop2x-eclipse-plugin-master
cd src/contrib/eclipse-plugin
$ANT_HOME/bin/ant jar -Dversion=2.2.0
-Declipse.home=/home/home/q/eclipse/eclipse
-Dhadoop.home=/home/q/eclipse/eclipse


Note:如果在编译的时候出现了以下的错误,可以安装新的 ant(我这里用的是 apache-ant-1.9.0)

BUILD FAILED
hadoop2x-eclipse-plugin-master/src/contrib/build-contrib.xml:459:
Class org.apache.tools.ant.taskdefs.ConditionTask doesn't support the
nested "typefound" element.


4. 获得编译后的 jar 文件

编译好之后,将会在hadoop2x-eclipse-plugin-master/build/contrib/eclipse-plugin目录下产生一个hadoop-eclipse-plugin-2.2.0.jar文件,

$ ls -l
total 23172
drwxr-xr-x 3 wyp wyp 4096 Mar 27 11:48 classes
drwxr-xr-x 2 wyp wyp 4096 Mar 27 11:37 examples
-rw-r--r-- 1 wyp wyp 23675527 Mar 27 11:48 hadoop-eclipse-plugin-2.2.0.jar
drwxr-xr-x 2 wyp wyp 4096 Mar 27 11:48 lib
drwxr-xr-x 3 wyp wyp 4096 Mar 27 11:37 system
drwxr-xr-x 3 wyp wyp 4096 Mar 27 11:37 test


5. 安装编译后的插件

将生成好的 jar,复制到
${eclipse.home}/plugins
目录下。启动 eclipse,新建 Map/Reduce Project,配置 hadoop location。验证插件完全分布式的插件配置和 core-site.xml 端口配置。

6. 启动 eclipse

开启 debug 模式可以用下面的命令

/home/q/eclipse/eclipse -clean -consolelog -debug


转自 :http://www.iteblog.com/archives/994

四. 各版本插件的下载地址

估计这个才是各位读者最关心的吧,笔者也献上相应的 jar 包供各位下载使用。以下插件亲测可用~

hadoop-eclipse-plugin-2.2.0.jar:http://download.csdn.net/detail/u011414200/9390810

hadoop-eclipse-kepler-plugin-2.4.1.jar:http://download.csdn.net/detail/u011414200/9390777

hadoop-eclipse-plugin-2.5.1.jar:http://download.csdn.net/detail/u011414200/9390800

hadoop-eclipse-plugin-2.6.0 : http://download.csdn.net/detail/u011414200/9390718

五. 网上资料

5.1 不用插件也能开发 Hadoop

转自 /article/8018359.html

我正在用 cdh4 来安装并且开发 hadoop 程序,当笔者尝试用 eclipse 写 hadoop 程序时,发现 cloudera 中的 hadoop 包没有 eclipse-plugin 插件,用过普通版 hadoop 的程序员都知道,apache 官网的 hadoop 文件会集成这个 eclipse 插件。所以笔者一直在谷歌和百度上寻找编译 cdh4 中 eclipse-plugin 插件的方法。找了国内外很多的网站,很少有人编译成功过 cdh4 的插件,就是编译成功也无法在 eclipse 里面使用。但是 cdh3u4 倒是有人编译成功过。大家要是对编译有兴趣可以参考这面这个博客(http://5142926.blog.51cto.com/5132926/1050680

最后经过尝试和询问,hadoop-eclipse-plugin 对于 hadoop 的意义只是提供一个 eclipse 可以提供 hdfs 的界面,也提供了一个加载 jar 库的路径,就是 eclipse 没有这个插件,只要把这些需要的包导入进去,用 java 应用程序就可以跑起来,可以操作 hdfs,如果有人一直想找到 cdh4 编译 eclipse 插件的朋友,并且遇到和笔者一样的困难,希望能看到这篇帖子,不用这个插件,也是可以编写程序的

5.2 常见问题一

将 hadoop-eclipse-plugin-2.6.0 放在
eclipse\plugins\
目录下,重启 eclipse之后,发现该插件没法使用

解决办法是: 启动 eclipse 的时候清理一下缓存

eclipse.exe -clean


5.3 常见错误二

1. Hadoop eclipse plugin 报错:” Error : failure to login”

产生原因

直接编译代码后生成的 jar 包由于缺少一些依赖的 lib 文件,不能直接使用

解决办法

对配置文件进程部分修改,修改的文件涉及
src/contirb/eclipse-plugin
目录下的 build.xml 和 META-INF/MANIFEST.MF 文件。

修改 build.xml (在文件末尾添加内容)

将 META-INF/MANIFEST.MF 文件中的 Bundle-ClassPath 属性修改

经过上面编译之后,产生的 jar 包位于 build/contrib/eclipse-plugin 目录下,将该 jar 包拷贝到 Eclipse 的 plugins 目录下,重启 Eclipse 即可。

5.4 Eclipse 的发型版本

从2006年起,Eclipse 基金会每年都会安排同步发布(simultaneous release)。至今,同步发布主要在 6 月进行,并且会在接下来的 9 月及 2 月释放出 SR1 及 SR2 版本。

版本代号平台版本主要版本发行日期SR1发行日期SR2发行日期
Callisto3.22006年6月26日N/AN/A
Europa3.32007年6月27日2007年9月28日2008年2月29日
Ganymede3.42008年6月25日2008年9月24日2009年2月25日
Galileo3.52009年6月24日2009年9月25日2010年2月26日
Helios3.62010年6月23日2010年9月24日2011年2月25日
Indigo3.72011年6月22日2011年9月23日2012年2月24日
Juno3.8及4.22012年6月27日2012年9月28日2013年3月1日
Kepler4.32013年6月26日2013年9月27日2014年2月28日
Luna4.42014年6月25日2014年9月25日2015年2月27日
Mars4.52015年6月25日N/AN/A
那如何查看自己 eclipse 的版本呢?

eclipse 在 help–>about eclipse 中查看不到版本,可以找到 eclipse 的根目录,找到 read me 文件夹,打开其中页面,如:eclipse/readme/readme_eclipse.html,可以看到

Release 4.2.0
Last revised June 8th, 2012


5.5 编译资料链接

基于centos 6.2的eclipse-plugin插件各版本编译方法 :/article/4276823.html

Hadoop2.4.0 Eclipse插件制作及问题记录:http://www.aboutyun.com/thread-7780-1-1.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: