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

hadoop 2.2.0 源码编译笔记

2013-11-03 09:06 477 查看
apache 官方发布的hadoop 2.2.0中只包含了32bit版本,多数生产环境中使用的是64bit的环境,需要64bit的hadoop2.2,则必须自己编译。本文记录在编译过程中遇到的一些问题和相应的解决办法。

1. 系统环境

编译安装之前,请检查系统的环境。开始的时候,我在一台比较老的机器上编译,遇到了一个奇怪的错误,"no such instruction: `crc32***",报错的截图如下:是一段汇编代码编译出错,经查crc系列指令属于SSE4_2指令集,需要支持该指令集的CPU,但是查看我的系统CPU支持该指令集(使用cat /proc/cpuinfo查看),截图如下:最后发现是由于我的系统的GCC版本太低导致的问题,我的GCC版本是3.4.5,而SSE4_2指令集要求GCC4.3以上。由于升级环境或牵连到其它的项目,最后我在另外一台装有CentOS6.4(64bit)的机器上执行编译,并且编译成功。查看系统版本:[plain] viewplaincopyprint?uname -a  Linux ** 2.6.32_1-7-0-0 #1 SMP *** x86_64 x86_64 x86_64 GNU/Linux查看gcc版本:[plain] viewplaincopyprint?gcc --version  gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2)我们的编译器版本非常的低查看CPU信息:[plain] viewplaincopyprint?cat /proc/cpuinfo | less  Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz12 coresflags: *** sse4_1 sse4_2 ***

2. 编译准备

         安装protobuf:               http://code.google.com/p/protobuf/downloads/list               http://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz                安装cmake:               http://www.cmake.org/files/v2.8/cmake-2.8.12.tar.gz               安装maven:               http://mirrors.cnnic.cn/apache/maven/maven-3/3.1.1/binaries/apache-maven-3.1.1-bin.tar.gz               http://mirrors.cnnic.cn/apache/maven/maven-3/3.1.1/source/apache-maven-3.1.1-src.tar.gz          安装ant:               http://mirror.bjtu.edu.cn/apache//ant/source/apache-ant-1.9.2-src.tar.gz               http://mirror.bjtu.edu.cn/apache//ant/binaries/apache-ant-1.9.2-bin.tar.gz
获取hadoop2.2.0源代码
        http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz

3. 编译

解压hadoop 2.2.0的源代码[plain] viewplaincopyprint?tar xzvf hadoop-2.2.0-src.tar.gz  进入源代码目录[plain] viewplaincopyprint?cd hadoop-2.2.0-src  执行编译命令        [plain] viewplaincopyprint?mvn package -Pdist,native,docs -DskipTests -Dtar  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: