首页 > 大数据 > 可视化 > [转]编译hadoop eclipse插件 详解
一、linux下编译hadoop和eclipse-plugin
操作系统为
1.下载软件包
hadoop-1.0.4.tar.gz
eclipse-jee-indigo-SR2-linux-gtk.tar.gz
将二者解压到/software目录下,分别命名为eclipse3.7
即:
2.
$ sudo apt-get install ant openjdk-6-jdk autoconf libtool
3.编辑
修改为:
3.2
4.修改/hadoop-1.0.4/src/core/org/apache/hadoop/fs/FileUtil.java里面的checkReturnValue,注释掉该函数即可
(这一步非常重要,因为在windows下,使用hadoop-1.0.4自带的hadoop-core-1.0.4.jar时,会抛出权限异常:12/04/24 15:32:44 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable,而修改了FileUtil.java后,编译得到的hadoop-core-1.0.4.jar在win平台不会出现上述问题)
5.编辑{HADOOP_HOME}/src/contrib./build-contrib.xml
添加高亮的两行,补充Eclipse路径和Hadoop版本
...
6.编译
6.1 编译hadoop
$ cd /software/hadoop
$ ant compile
这个时候会出现一些错误。其中一个就是提示你没有安装automake、autoconf、autotools这三个软件,在centos下可以通过 yum install automake autoconf autotools安装
这三个软件。
还有一个问题是:/hadoop/mapred/gridmix/Gridmix.java:396: 错误: 类型参数? extends
T不在类型变量E的范围内
这个问题则需要修改/src/contrib/gridmix/src/java/org/apache/hadoop/mapred/gridmix/Gridmix.java这个文件。
+改:
-原:
+改:
win平台下,使用编译生成的 hadoop-core-1.0.4.jar 可以避免
6.2编译eclipse-plugin
$
cd
$ ang jar
执行成功后,
此时的hadoop-eclipse-plugin-1.0.4.jar还缺少一些jar包,放入${ECLIPSE_HOME}/plugins
An internal error occurred during: "Connecting to DFS Hadoop".org/apache/commons/configuration/Configuration
解决方法:
对hadoop-eclipse-plugin-1.0.4.jar进行修改。
5.1.
将HADOOP_HOME/lib目录下的commons-configuration-1.6.jar ,
commons-httpclient-3.0.1.jar , commons-lang-2.4.jar ,
jackson-core-asl-1.8.8.jar
5.2.
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
将该hadoop-eclipse-plugin-1.0.4.jar拷贝到eclipse plugs-in目录中,重新启动eclipse,至此,搭建完成hadoop eclipse编译环境。
连接
二.Windows下编译eclipse-plugin
操作系统:
1.下载如下软件包:
jdk-6u30-windows-i586.exe
apache-ant-1.8.4-bin.zip
eclipse-jee-indigo-SR2-win32.zip
hadoop-1.0.4.tar.gz
2.
2.1安装jdk
2.2
将%ANT_HOME%in添加到Path变量
2.3
2.4将eclipse-jee-indigo-SR2-win32.zip解压到E:/software/目录下,更名为eclipse3.7
3.修改eclipse-plugin相关的build配置文件,并准备jar包
...
3.2
|
|
(1)添加高亮的三行用于增加%Hadoop_HOME%/hadoop-*.jar作为ref
(2)删除build.xml中的deprecation=”${javac.deprecation}”
3.3
>copy %Hadoop_HOME%libcommons-cli-1.2.jar %HADOOP_HOME%uildivylibHadoopcommon
>copy %Hadoop_HOME%hadoop-core-1.0.4.jar %Hadoop_HOME%uild
4.
此时的hadoop-eclipse-plugin-1.0.4.jar还缺少一些jar包,放入${ECLIPSE_HOME}/plugins
An internal error occurred during: "Connecting to DFS Hadoop".org/apache/commons/configuration/Configuration
解决方法:
对hadoop-eclipse-plugin-1.0.3.jar进行修改。
5.1.
将HADOOP_HOME/lib目录下的commons-configuration-1.6.jar ,
commons-httpclient-3.0.1.jar , commons-lang-2.4.jar ,
jackson-core-asl-1.8.8.jar
5.2.
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
将该hadoop-eclipse-plugin-1.0.4.jar拷贝到eclipse plugs-in目录中,重新启动eclipse,至此,搭建完成hadoop eclipse编译环境
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26148556/viewspace-1119516/ ,如需转载,请注明出处,否则将追究法律责任。