当前位置: 首页 > hadoop, 分布式系统 > 正文

Hadoop2.2.0 64位源码编译手记

关键字:
1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share
文章目录

零·引子

环境配置是个挺烦人的活,麻烦不说还没有成就感。特别是那种安装麻烦的软件,一个小小的依赖问题就可能把你卡出翔。 十月份的时候Hadoop2.2 Release了,新版本基于Yarn框架。在0.2x时代就听过这个名头,貌似牛B闪闪的样子。 于是花了一天多的时间进行安装,结果在启动时就不详地报一个警告:

WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

在网上查了一下发现Apache官网提供的是32位编译的,在64位服务器上会有问题。而且这坑货官方竟然没有提供64位版本,要使用得自己编译。 于是就有了下面这漫漫的填坑之路。

壹·依赖环境准备

这部分看起来容易,但是收集这些依赖才是真正让人崩溃事。
经过一次次编译失败,翻遍了谷歌、百度之后终于凑齐了下面这些包。我想问:这是召唤神龙的节奏吗。

下面的服务器环境都基于Centos的,其它发行版Linux可能会有不同。
1.GCC、CMake、openssl、JDK,这几个没啥好说的,你懂的。

2.hadoop-2.2.0-src.tar.gz(http://hadoop.apache.org/releases.html#Download

3.apache-ant-1.9.2-bin.tar.gz(http://ant.apache.org/bindownload.cgi

4.apache-maven-3.0.5-bin.tar.gz(http://maven.apache.org/download.cgi

注意:此处最新的3.1.1版有Bug,缺少依赖包。详细说明如下所示:
https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound

5.findbugs-2.0.2.tar.gz(http://sourceforge.jp/projects/sfnet_findbugs/releases/
注意:sourceforge.com被墙,只能进sourceforge.jp,这TMD什么世道?

6.protobuf-2.5.0.tar.gz(https://code.google.com/p/protobuf/downloads/list

7.zlib-devel-1.2.3-3.x86_64.rpm
http://rpm.pbone.net/index.php3/stat/4/idpl/8192688/dir/startcom_5/com/zlib-devel-1.2.3-3.x86_64.rpm.html

贰·依赖环境配置

安装没啥好说的了,大部分都是tar包,解开就能用。只有protobuf需要make一下。
配置好环境后不要忘了source /etc/profile一下,否则不会生效。
下面的图是环境变量配置明细:

config

叁·编译

安装好了上面的依赖后就可以编译了。

mvn package -Pdist,native,docs -DskipTests -Dtar

然后就是漫长的等待,真的很漫长(用小时来做单位的)。当你看到一串SUCCESS的时候,那么恭喜你成功了。
是不是有种泪奔的感觉,这一刻你的眼眶有没有湿润?
不是因为编译这东西有多大成就感,完全是因为这个过程太折磨人了。
compile

肆·生成打包文件

到这一步就简单了,在/data/java/tools/hadoop-2.2.0-src/hadoop-dist/target/目录下,可以看到编译好的hadoop-2.2.0.tar.gz包静静的趴在那里,现在你可以进行安装了。
安装过程待续。。。

本文固定链接: http://www.chepoo.com/hadoop2-2-0-64-the-digital-source-compile-notes.html | IT技术精华网

Hadoop2.2.0 64位源码编译手记:等您坐沙发呢!

发表评论