CentOS上编译 CDH4.5 (hadoop2.0)

CentOS上编译 CDH4.5 (hadoop2.0)

1.在编译之前我们可能需要安装的工具如下:

yum install lzo-devel  zlib-devel  gcc autoconf automake libtool   ncurses-devel openssl-deve gcc-g++

2.需要 安装 ant 、 Maven、Findbugs 和protobuf

2.1 安装 maven
建议使用版本 Maven 3.0.5 ,高版本可能会存在一些问题。还有JAVA 版本建议使用1.6
下载官方地址http://maven.apache.org/docs/3.0.5/release-notes.html

解压后添加系统环境变量 vim /etc/profile

export MAVEN_HOME=/opt/apache-maven-3.0.5
export PATH=$PATH:$MAVEN_HOME/bin

命令:
mvn -version

[hue@cloud-master FCCSDATA]$ mvn  -version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 21:51:28+0800)
Maven home: /usr/local/maven3.05
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /usr/local/jdk1.6/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-431.el6.x86_64", arch: "amd64", family: "unix"

说明安装成功

2.2 安装Ant

$ wget http://apache.dataguru.cn//ant/binaries/apache-ant-1.9.3-bin.tar.gz
$ sudo tar zxf apache-ant-1.9.3-bin.tar.gz -C /opt
$ sudo vim /etc/profile

添加环境变量
export ANT_HOME=/opt/apache-ant-1.9.3
export PATH=$PATH:$ANT_HOME/bin

2.3 安装Findbugs

$ wget http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download
$ tar zxf findbugs-2.0.3.tar.gz -C /opt
$ vim /etc/profile

添加环境变量
export FINDBUGS_HOME=/opt/findbugs-2.0.3
export PATH=$PATH:$FINDBUGS_HOME/bin

2.4 安装protobuf

$ wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz
$ tar zxf protobuf-2.5.0.tar.gz
$ cd protobuf-2.5.0
$ ./configure
$ make
$  make install

3. 从官方下载hadoop-2.0.0-cdh4.5.0 解压后
$ wget http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.5.0.tar.gz
$ tar xvfz hadoop-2.0.0-cdh4.5.0.tar.gz
$ cd hadoop-2.0.0-cdh4.5.0/src/
$ mvn package -DskipTests -Pdist,native -Dtar

可能出现的问题
undefined reference to `xdrmem_create’
我出现这个问题 可能是因为我升级了centos 的系统内核导致的。没有解决,换了一个节点按照上面的方法编译成功了。