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

本文档详细介绍了在SUSE Linux Enterpriser Server 11 SP2 64位环境下,如何编译Hadoop 2.2.0源码。首先,你需要安装JDK、Maven,添加软件源以方便安装protobuf等依赖,然后编译并解决源码中的bug。通过执行`mvn package -Pdist,native -DskipTests -Dtar`命令,约30分钟后,你将得到编译后的hadoop-2.2.0.tar.gz包。" 123613046,7771373,理解CI/CD:持续集成与持续部署实践,"['持续集成', '持续部署', '前端开发', '自动化测试', '敏捷开发']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

   

Hadoop2.2.0 native lib 直接替换掉 2.2.0 发布包里面的nativeIO ,配置好环境变量就可以了 东西虽然小,但是却费了不少功夫,主要是由于本地网络控制,不允许上网。安装各种软件就费了很大劲,软件之间的依赖也很让人头痛, 希望能帮到有需要的兄弟姐妹。。。! 包含的文件: ~/hadoop/hadoop-2.2.0/lib/native> ll 总计 1540 -rw-r--r-- 1 weblogic users 734402 04-15 10:22 libhadoop.a -rwxr-xr-x 1 weblogic users 412856 04-15 10:22 libhadoop.so -rwxr-xr-x 1 weblogic users 412856 04-15 10:22 libhadoop.so.1.0.0 ~/hadoop/hadoop-2.2.0/lib/native> file * libhadoop.a: current ar archive libhadoop.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped 下面是查询的详细OS版本信息 #uname -a Linux F23-B4-E2-B3 2.6.32.12-0.7-default #1 SMP 2010-05-20 11:14:20 +0200 x86_64 x86_64 x86_64 GNU/Linux # lsb_release -a LSB Version: core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64:desktop-4.0-amd64:desktop-4.0-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.2-amd64:graphics-3.2-noarch:graphics-4.0-amd64:graphics-4.0-noarch Distributor ID: SUSE LINUX Description: SUSE Linux Enterprise Server 11 (x86_64) Release: 11 Codename: n/a weblogic@F23-B4-E2-B1:~> cat /etc/SuSE-release SUSE Linux Enterprise Server 11 (x86_64) VERSION = 11 PATCHLEVEL = 1
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值