在linux下编译hadoop1.0.3
2012-08-22 14:51
246 查看
最近想开始学习hadoop,所以决定从编译开始,一点一点的学习。
我是在本机用eclipse签出svn,准备在本机上查看源码进行学习,和编译环境无关。
所以首先需要从svn上签出 hadoop1.0.3源码
(1)签出源码
svn地址:http://svn.apache.org/repos/asf/hadoop/common/tags/release-1.0.3/
(2)将源码拷贝到要进行编译的linux环境中。可以是虚拟机或者物理机。
默认环境中有java环境、ant环境和eclipse以及可视化界面。
如果没有请自行安装。
(3)在eclipse中编译源码
1) 运行eclipse--》导入已有工程--》选择源码目录release-1.0.3,导入
2)导入后,在eclipse界面中,右击build.xml,然后点击Ant build开始编译即可。
3)编译中出现一个错误:找不到autoreconf (视机器环境而定),定位到文件中位置:
<target name="create-native-configure">
<exec executable="autoreconf" dir="${native.src.dir}" searchpath="yes"
failonerror="yes">
<arg value="-if"/>
</exec>
</target>
解决方式:直接注释掉<exec>的内容。所有native相关包都不编译。
4)重新编译,编译通过。
(4)采用ant编译build.xml
默认已经安装ant环境。
直接运行ant -file build.xml即可。同上面的问题一样,直接注释掉即可。尚未发现问题。
说明:默认情况下其实是不编译native和c++内容的。
(5)采用ant编译源码包(这个部分内容,请参考/article/11107719.html这篇博客)
同第(4)步一样, 默认已经安装ant环境。
运行:ant package命令,开始编译部署
1, 遇到一个错误:'java5.home' is not defined
解决方法:下载JDK5并部署到编译机器上,运行如下命令执行:ant package-Djava5.home=JDK5所在目录
2,重新编译后,又遇到一个错误:forrest.home' is not defined
解决方法:下载forrest8.0(没有试过9.0是否可以)部署到编译机器上。运行如下命令:ant package-Djava5.home=JDK5所在目录 -Dforrest.home=forrest所在目录
编译后,完全通过,没有任何问题。在build目录下,会出现一个hadoop-1.0.4-SNAPSHOT目录,这就是最终运行的可执行目录了。可以按照hadoop部署的步骤进行部署。
3,没有执行native和c++,build中C++目录里为空。因为hadoop默认不执行这个编译步骤,需要进行如下设置:
ant -Dcompile.native=true -Dcompile.c++=true package-Djava5.home=JDK5所在目录 -Dforrest.home=forrest所在目录
我是在本机用eclipse签出svn,准备在本机上查看源码进行学习,和编译环境无关。
所以首先需要从svn上签出 hadoop1.0.3源码
(1)签出源码
svn地址:http://svn.apache.org/repos/asf/hadoop/common/tags/release-1.0.3/
(2)将源码拷贝到要进行编译的linux环境中。可以是虚拟机或者物理机。
默认环境中有java环境、ant环境和eclipse以及可视化界面。
如果没有请自行安装。
(3)在eclipse中编译源码
1) 运行eclipse--》导入已有工程--》选择源码目录release-1.0.3,导入
2)导入后,在eclipse界面中,右击build.xml,然后点击Ant build开始编译即可。
3)编译中出现一个错误:找不到autoreconf (视机器环境而定),定位到文件中位置:
<target name="create-native-configure">
<exec executable="autoreconf" dir="${native.src.dir}" searchpath="yes"
failonerror="yes">
<arg value="-if"/>
</exec>
</target>
解决方式:直接注释掉<exec>的内容。所有native相关包都不编译。
4)重新编译,编译通过。
(4)采用ant编译build.xml
默认已经安装ant环境。
直接运行ant -file build.xml即可。同上面的问题一样,直接注释掉即可。尚未发现问题。
说明:默认情况下其实是不编译native和c++内容的。
(5)采用ant编译源码包(这个部分内容,请参考/article/11107719.html这篇博客)
同第(4)步一样, 默认已经安装ant环境。
运行:ant package命令,开始编译部署
1, 遇到一个错误:'java5.home' is not defined
解决方法:下载JDK5并部署到编译机器上,运行如下命令执行:ant package-Djava5.home=JDK5所在目录
2,重新编译后,又遇到一个错误:forrest.home' is not defined
解决方法:下载forrest8.0(没有试过9.0是否可以)部署到编译机器上。运行如下命令:ant package-Djava5.home=JDK5所在目录 -Dforrest.home=forrest所在目录
编译后,完全通过,没有任何问题。在build目录下,会出现一个hadoop-1.0.4-SNAPSHOT目录,这就是最终运行的可执行目录了。可以按照hadoop部署的步骤进行部署。
3,没有执行native和c++,build中C++目录里为空。因为hadoop默认不执行这个编译步骤,需要进行如下设置:
ant -Dcompile.native=true -Dcompile.c++=true package-Djava5.home=JDK5所在目录 -Dforrest.home=forrest所在目录
相关文章推荐
- 在linux下编译hadoop1.0.3
- Linux下成功编译hadoop-eclipse-plugin-${version}.jar
- Linux下Hadoop Eclipse插件编译安装
- linux下hadoop2.6.1源码64位的编译
- Ant编译Hadoop 1.0.3的eclipse-plugin插件包
- 关于64位Linux编译hadoop2
- 64位linux下编译hadoop2.X
- Linux 环境下部署Hadoop 2.x,建议尝试64位系统下进行本地编译的安装方式
- hadoop-2.4.1在linux下的编译
- Linux编译Hadoop2.0生成Hadoop_X64
- 【hadoop】 1008-使用64位Linux编译hadoop2.2.0
- 从零教你在Linux环境下(ubuntu 12.04)如何编译hadoop2.4
- [ Linux 下 Hadoop 编译]CentOS6.4_64位下编译Hadoop2.2.0
- Hadoop-2.2.0 Linux 64位系统本地库编译
- hadoop64位编译(linux)
- 64位的linux装的hadoop是32位的,需要手工编译
- 在Linux上编译Hadoop-2.4.0
- 64位LINUX下hadoop2.2.0重新编译及安装步骤
- hadoop1.0.3编译eclipse plug-in
- Linux系统下Hadoop2.6版本编译