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

SUSE Linux 64位环境下编译hadoop2.2.0源码

2014-03-27 09:44 537 查看
OS环境:SUSE Linux Enterpriser Server 11 SP2 (64位)

Mission:由于apache官网所提供的编译好的Hadoop-2.2.0-tar.gz 只兼容32位系统,安装在64位系统下会出现各种兼容性错误。故,需要在64位系统下,对hadoop-2.2.0源码进行重新编译。

START:

准备工作:

步骤 :

1、安装JDK

在oracle官网下载 最新的jdk包,eg:jdk-7u45-linux-x64.tar.gz

解压,安装,添加环境变量。

测试:java -version

2、安装maven

在apache官网上下载最新maven包,eg:apache-maven-3.1.1-bin.tar.gz

解压,安装,添加环境变量。

测试:mvn -version

3、为suse 添加软件源(方便用zypper命令安装各种包)

打开:yast -> Software Repositories ->Add->next->填写“源“的URL,以及给Repository命名-〉next

具体参照网页:/article/1283662.html

4、安装protobuf

首先用zypper命令安装protobuf所需要的依赖包:gcc*

sudo zypper install gcc*

然后下载最新的 protobuf包,解压,安装,设置环境变量

测试:protoc --version

5、检查与安装必要的依赖包(hadoop编译需要)

cmake,openssl-devel,ncurses-devel、autoconf、automake、libtool

6、下载hadoop-2.2.0源码:hadoop-2.2.0-src.tar.gz

解压

由于hadoop-2.2.0源码包解压出来的code有个bug 需要patch后才能编译:

详见:https://issues.apache.org/jira/browse/HADOOP-10110

按照上述官方patch,修改文件:hadoop-2.2.0-src/hadoop-common-project/hadoop-auth/pom.xml

7、在开始编译hadoop-2.2.0源码之前,建议先测试以上各种包是否安装成功

如果之前修改过/etc/profile ,最好在编译hadoop的终端上 source /etc/profile

然后cd进入hadoop-2.2.0源码解压目录中,开始编译(建议换到root权限下编译)

mvn package -Pdist,native -DskipTests -Dtar

等待大约30分钟,编译成功。

编译后的包在:hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0.tar.gz
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: