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

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

     具体参照网页:http://www.jb51.net/LINUXjishu/56576.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

你可能感兴趣的:(SUSE Linux 64位环境下编译hadoop2.2.0源码)