1. 程式人生 > >CentOS 64位上編譯Hadoop 2.6.0原始碼包

CentOS 64位上編譯Hadoop 2.6.0原始碼包

Hadoop不提供64位編譯好的版本,只能用原始碼自行編譯64位版本。學習一項技術從安裝開始,學習hadoop要從編譯開始。


1.作業系統編譯環境

yum install cmake lzo-devel zlib-devel gcc gcc-c++ autoconf automake libtool ncurses-devel openssl-devel libXtst


2.安裝JDK

下載JDK1.7,注意只能用1.7,否則編譯會出錯
http://www.Oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

tar zxvf jdk-7u75-linux-x64.tar.gz -C /app

export JAVA_HOME=/app/jdk1.7.0_75
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$PATH:$JAVA_HOME/bin


3.安裝protobuf

下載protobuf-2.5.0,不能用高版本,否則Hadoop編譯不能通過
wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

tar xvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure
make
make install
ldconfig

protoc --version


4.安裝ANT

wget http://mirror.bit.edu.cn/apache/ant/binaries/apache-ant-1.9.4-bin.tar.gz
tar zxvf apache-ant-1.9.4-bin.tar.gz -C /app

vi /etc/profile
export ANT_HOME=/app/apache-ant-1.9.4
PATH=$PATH:$ANT_HOME/bin


5.安裝maven

wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.1/binaries/apache-maven-3.3.1-bin.tar.gz

tar zxvf apache-maven-3.3.1-bin.tar.gz -C /app

vi /etc/profile
export MAVEN_HOME=/app/apache-maven-3.3.1
export PATH=$PATH:$MAVEN_HOME/bin

修改配置檔案
vi /app/apache-maven-3.3.1/conf/settings.xml

更改maven資料庫,在<mirrors></mirros>裡新增如下內容:

<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexusosc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror>

在<profiles></profiles>內新新增

<profile>
<id>jdk-1.7</id>
<activation>
<jdk>1.7</jdk>
</activation>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>


6.安裝findbugs(非必須)
wget http://prdownloads.sourceforge.net/findbugs/findbugs-3.0.1.tar.gz?download
tar zxvf findbugs-3.0.1.tar.gz -C /app

vi /etc/profile
export FINDBUGS_HOME=/app/findbugs-3.0.1
PATH=$PATH:$FINDBUGS_HOME/bin
export PATH

注意:
最終,在/etc/profile中環境變數PATH的設定如下:
PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$MAVEN_HOME/bin:$FINDBUGS_HOME/bin
export PATH

在shell下執行,使環境變數生效
. /etc/profile


7.編譯 Hadoop2.6.0

wget http://mirror.bit.edu.cn/apache/hadoop/core/hadoop-2.6.0/hadoop-2.6.0-src.tar.gz
cd hadoop-2.6.0-src
mvn package -DskipTests -Pdist,native -Dtar

[INFO] Reactor Summary:
[INFO]
[INFO] Apache Hadoop Main ................................. SUCCESS [  4.401 s]
[INFO] Apache Hadoop Project POM .......................... SUCCESS [  3.864 s]
[INFO] Apache Hadoop Annotations .......................... SUCCESS [  7.591 s]
[INFO] Apache Hadoop Assemblies ........................... SUCCESS [  0.535 s]
[INFO] Apache Hadoop Project Dist POM ..................... SUCCESS [  3.585 s]
[INFO] Apache Hadoop Maven Plugins ........................ SUCCESS [  6.623 s]
[INFO] Apache Hadoop MiniKDC .............................. SUCCESS [  4.722 s]
[INFO] Apache Hadoop Auth ................................. SUCCESS [  7.787 s]
[INFO] Apache Hadoop Auth Examples ........................ SUCCESS [  5.500 s]
[INFO] Apache Hadoop Common ............................... SUCCESS [02:47 min]
[INFO] Apache Hadoop NFS .................................. SUCCESS [ 12.793 s]
[INFO] Apache Hadoop KMS .................................. SUCCESS [ 20.443 s]
[INFO] Apache Hadoop Common Project ....................... SUCCESS [  0.111 s]
[INFO] Apache Hadoop HDFS ................................. SUCCESS [04:35 min]
[INFO] Apache Hadoop HttpFS ............................... SUCCESS [ 29.896 s]
[INFO] Apache Hadoop HDFS BookKeeper Journal .............. SUCCESS [ 11.100 s]
[INFO] Apache Hadoop HDFS-NFS ............................. SUCCESS [  8.262 s]
[INFO] Apache Hadoop HDFS Project ......................... SUCCESS [  0.069 s]
[INFO] hadoop-yarn ........................................ SUCCESS [  0.066 s]
[INFO] hadoop-yarn-api .................................... SUCCESS [02:05 min]
[INFO] hadoop-yarn-common ................................. SUCCESS [ 46.132 s]
[INFO] hadoop-yarn-server ................................. SUCCESS [  0.123 s]
[INFO] hadoop-yarn-server-common .......................... SUCCESS [ 19.166 s]
[INFO] hadoop-yarn-server-nodemanager ..................... SUCCESS [ 25.552 s]
[INFO] hadoop-yarn-server-web-proxy ....................... SUCCESS [  5.456 s]
[INFO] hadoop-yarn-server-applicationhistoryservice ....... SUCCESS [ 11.781 s]
[INFO] hadoop-yarn-server-resourcemanager ................. SUCCESS [ 30.557 s]
[INFO] hadoop-yarn-server-tests ........................... SUCCESS [  9.765 s]
[INFO] hadoop-yarn-client ................................. SUCCESS [ 14.016 s]
[INFO] hadoop-yarn-applications ........................... SUCCESS [  0.101 s]
[INFO] hadoop-yarn-applications-distributedshell .......... SUCCESS [  4.116 s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher ..... SUCCESS [  2.993 s]
[INFO] hadoop-yarn-site ................................... SUCCESS [  0.093 s]
[INFO] hadoop-yarn-registry ............................... SUCCESS [  9.036 s]
[INFO] hadoop-yarn-project ................................ SUCCESS [  6.557 s]
[INFO] hadoop-mapreduce-client ............................ SUCCESS [  0.267 s]
[INFO] hadoop-mapreduce-client-core ....................... SUCCESS [ 36.775 s]
[INFO] hadoop-mapreduce-client-common ..................... SUCCESS [ 28.049 s]
[INFO] hadoop-mapreduce-client-shuffle .................... SUCCESS [  7.285 s]
[INFO] hadoop-mapreduce-client-app ........................ SUCCESS [ 17.333 s]
[INFO] hadoop-mapreduce-client-hs ......................... SUCCESS [ 15.283 s]
[INFO] hadoop-mapreduce-client-jobclient .................. SUCCESS [  7.110 s]
[INFO] hadoop-mapreduce-client-hs-plugins ................. SUCCESS [  3.843 s]
[INFO] Apache Hadoop MapReduce Examples ................... SUCCESS [ 12.559 s]
[INFO] hadoop-mapreduce ................................... SUCCESS [  6.331 s]
[INFO] Apache Hadoop MapReduce Streaming .................. SUCCESS [ 45.863 s]
[INFO] Apache Hadoop Distributed Copy ..................... SUCCESS [ 46.304 s]
[INFO] Apache Hadoop Archives ............................. SUCCESS [  3.575 s]
[INFO] Apache Hadoop Rumen ................................ SUCCESS [ 12.991 s]
[INFO] Apache Hadoop Gridmix .............................. SUCCESS [ 10.105 s]
[INFO] Apache Hadoop Data Join ............................ SUCCESS [  5.021 s]
[INFO] Apache Hadoop Ant Tasks ............................ SUCCESS [  3.804 s]
[INFO] Apache Hadoop Extras ............................... SUCCESS [  5.298 s]
[INFO] Apache Hadoop Pipes ................................ SUCCESS [ 10.290 s]
[INFO] Apache Hadoop OpenStack support .................... SUCCESS [  9.220 s]
[INFO] Apache Hadoop Amazon Web Services support .......... SUCCESS [11:12 min]
[INFO] Apache Hadoop Client ............................... SUCCESS [ 10.714 s]
[INFO] Apache Hadoop Mini-Cluster ......................... SUCCESS [  0.143 s]
[INFO] Apache Hadoop Scheduler Load Simulator ............. SUCCESS [  7.664 s]
[INFO] Apache Hadoop Tools Dist ........................... SUCCESS [ 29.970 s]
[INFO] Apache Hadoop Tools ................................ SUCCESS [  0.057 s]
[INFO] Apache Hadoop Distribution ......................... SUCCESS [ 49.425 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 32:26 min
[INFO] Finished at: 2015-03-19T19:56:40+08:00
[INFO] Final Memory: 99M/298M
[INFO] ------------------------------------------------------------------------

編譯成功後會打包,放在hadoop-dist/target
# ls
antrun                    dist-tar-stitching.sh  hadoop-2.6.0.tar.gz    hadoop-dist-2.6.0-javadoc.jar  maven-archiver
dist-layout-stitching.sh  hadoop-2.6.0          hadoop-dist-2.6.0.jar  javadoc-bundle-options        test-dir