先來無事想安裝下hadoop-2.2.0,看看宣傳中的許多新特性。再網上找教程的時候忽然發現原來官方只有32位版本的。須要本身對源代碼進行編譯才能獲得64位版本的。趕忙又去網上搜資料,忙活了一天終於編譯成功了。 html
具體過程以下: java
下載Hadoop2.2.0源代碼包hadoop-2.2.0-src.tar.gz linux
安裝相應的依賴包
yum -y install svn ncurses-devel gcc*
yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
這些依賴包建議在linux系統聯網的狀況下安裝 bash
安裝並配置java環境
(1)從官網下載java安裝包
http://www.oracle.com/technetwork/java/javase/downloads/index.html(選擇合適的版本,本文采用的是64位版本)
(2)配置java環境變量
一般是在root用戶下修改/etc/下的profile文件,可是此改動會影響整個系統,因此咱們採起第二種方法。在當前用戶(本文是hadoop用戶)下,ls -a,會發現有一個.bash_profile文件,這個文件是當前用戶的配置文件,其配置只會在當前用戶下生效。因此咱們在此文件的末尾添加jdk的信息,以下:
export JAVA_HOME=/home/hadoop/Java/jdk1.7.0_51
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存退出,並執行source .bash_profile 命令便可。
(3)檢查java環境
執行 java -version命令,便可看到安裝java的版本。
oracle
安裝maven工具
(1)下載地址:http://maven.apache.org/download.cgi
(2)將下載的工具包進行解壓後,配置其環境變量
在.bahs_profile文件末尾添加以下內容:
export MAVEN_HOME=/home/hadoop/maven
export PATH=$PATH:$MAVEN_HOME/bin maven
安裝protobuf工具
(1)下載地址:http://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.5.0.tar.gz
(2)protobuf工具須要進行編譯,按照以下步驟:
解壓,設置屬主爲root chowd -R root.root protobuf-2.5.0
編譯安裝protobuf
①cd protobuf-2.5.0
②./configure
③make
④make install
(3)檢查protobuf的安裝狀況
protoc --version
svn
對hadoop2.2.0進行編譯
(1)執行官方的clean步驟
mvn clean install –DskipTests(可能有一段時間)
執行成功後會出來好多列success提示!!
(2)執行編譯
接下來執行hadoop的編譯:
mvn package-Pdist,native -DskipTests -Dtar
等待一段時間後會提示已經安裝完成,如圖:
工具
驗證hadoop的編譯狀況
(1)檢查編譯結果
進入到hadoop源代碼所在目錄的/hadoop-dist/target 目錄,裏邊會有編譯好的hadoop2.2.0如圖所示:
(2)對編譯好的hadoop進行驗證
1>進入到上步的hadoop2.2.0目錄中,會看到裏邊的目錄與官方32位的系統目錄相同。
2>進入到bin目錄中執行以下命令:
./hadoop version(列出hadoop的版本信息)
3>進入到hadoop-2.2.0目錄中執行以下命令:
file lib//native/*
至此,Hadoop-2.2.0的編譯工做完成 oop