hadoop2编译

64位centos 下编译【2.X后官网只有32位编译后的文件】
首先从官网下载hadoop源码这里(我使用的是2.6.3),并且你的虚拟机必须是可以上网这样maven依赖包就可以获得
编译需要的环境
sudo yum -y install gcc*
sudo yum -y install cmake
sudo yum -y install glibc-headers
sudo yum -y install gcc-c++
sudo yum -y install zip-devel
sudo yum -y install openssl-devel
sudo yum -y install svn
sudo yum -y install git
sudo yum -y install ncurses-devel
sudo yum -y install lzo-devel
sudo yum -y install autoconf
sudo yum -y install libtool
sudo yum -y install automake


一. 下载必要的组件

a) 下载hadoop源码 (当前最新的稳定版是2.6.0)
地址  http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.6.0-src.tar.gz
b) 下载apache-ant (centos自带的ant版本太低,编译过程中会报错)
地址: http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.4-bin.zip (最新版本即可)
c) 下载protobuf-2.5.0.tar.gz (这是google出品的一个数据传输格式)
地址: https://developers.google.com/protocol-buffers/docs/downloads (官网地址要翻!墙!,百度上也能找到国内下载地址)
注意:hadoop2.6.0必须配protobuf 2.5.0版本,版本不匹配,编译将失败
d) 下载findbugs
地址: http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.1.tar.gz?download (最新版本即可)
e) 下载maven
地址: http://maven.apache.org/download.cgi (下载最新版即可,本文中用的是3.2.5)
f) 下载jdk
地址:这个比较容易找,大家自己去oracle官网找着,jdk1.6 及以上(本文用的是1.7)

配置\安装protobuf

进入protobuf所在目录,然后按下面顺序操作
./configure
make
make check
sudo make install

[root@CentOS4 conf]# export MAVEN_HOME=/usr/local/apache-maven-3.3.9
[root@CentOS4 conf]# export PATH=$PATH:$MAVEN_HOME/bin
[root@CentOS4 conf]# source /etc/profile


所有的环境配置好后执行mvn -version会出现
[root@CentOS4 hadoop-2.6.3-src]# mvn -version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.7.0_95, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.95-2.6.4.0.el7_2.x86_64/jre
Default locale: zh_CN, platform encoding: GBK
OS name: "linux", version: "3.10.0-327.el7.x86_64", arch: "amd64", family: "unix"

进入hadoop源代码目录,输入
mvn clean package -DskipTests -Pdist,native -Dtar
mvn compile -DskipTests -Pdist,native -Dtar

编译成功后,hadoop-2.6.0-src/hadoop-dist/target 这个目录下会生成编译结果

猜你喜欢

转载自janle.iteye.com/blog/2298352