一、準備的資料
· 64位linux系統。我使用的是 CentOS
· JDK 1.7+。注:使用1.7即可,如果是1.8則會編譯失敗,1.6沒有試過,看網上大牛的帖子說也能過
· maven-3.2.5。 這是apache的一個產品,hadoop的編譯要就是3.0以上
· protobuf 注:谷歌的產品,最好是提前百度準備一下這個文件
· hadoop-2.5.2-src 這個可以到Apache的官網上去下載
· ant-1.9.4 這個也是Apache的,在文章最後附的參考鏈接中有關於下載的百度網盤地址
這些文件,需要上傳到linux系統中,我使用的是SSH來進行上傳的,直接上傳到了 /root 目錄下。同時由於安裝過程中需要在線下載東西,古需要保持linux系統的網絡暢通。
二、安裝JDK
JDK的安裝百度一下有很多文章,我使用的是 jdk-7u71-linux-x64.tar.gz。在oracle的官網上也能夠下載。jdk的安裝在linux下就是一個加壓縮的過程。
1 cd /root
2 tar -zxvf jdk-7u71-linux-x64.tar.gz
3 配置環境變量:vim /etc/profile
4 輸入命令進入編輯模式:i
5 在文件最後添加:export JAVA_HOME=/root/jdk1.7.0_71
6 export PATH=.:$PATH:$JAVA_HOME/bin
7 保存退出(按下Esc,輸入冒號,輸入wq回車)
8 使環境變量生效:source /etc/profile
9 檢測安裝是否成功:
10 java -version
11 javac -version
三、安裝maven
這個和安裝jdk是一樣的,安裝成後同樣需要配置環境變量
export MAVEN_HOME=/usr/mvn/apache-maven-3.2.5
export PATH=.:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
同樣,輸入命令使配置文件生效
source /etc/profile
檢測是否安裝成功:
mvn -version
能夠看到關於maven的一些信息,包括所使用的jdk
四、安裝protobuf
這一步比較關鍵,protobuf最好是提前下載然後上傳上去。安裝protobuf前,需要安裝一些其他的東西
yum install gcc 安裝c++
yum install gcc-c++ 然後會兩次提示輸入 y(yes/no)
yum install make 可能會提示因爲make已經是最新版本,而不會安裝,這個無所謂,反正是最新版本,就不安裝了
接下來便是安裝protobuf,同樣是一個解壓縮的過程
cd /root
tar -zxvf protobuf-2.5.0.tar.gz
然後進入到安裝目錄中,以此輸入一下命令:
1 cd /protobuf-2.5.0
2 ./configrue
3 make
4 make install
我在進行上面第二個命令,對configure進行預編譯時報錯,查看異常後,是c++沒有安裝成功,便再一次執行了:yum install gcc-c++ 命令,OK
make 命令執行的時間比較長,最後一個命令的執行安裝,如果出現錯誤,重新來過即可
測試
protoc --version
五、安裝CMake
CMake 需要2.6以上的版本,在安裝的時候會提示輸入 y/N,同時由於安裝這個組件是需要聯網的,故根據網速不同,安裝的進度也不一樣
1 yum install cmake
2 yum install openssl-devel
3 yum install ncurses-devel
六、ant 安裝
tar zxvf apache-ant-1.9.4-bin.tar.gz
配置環境變量
export ANT_HOME=/root/apache-ant-1.9.4
export PATH=.:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin:$ANT_HOME/bin
生效以及測試
1 source /etc/profile
2 ant -version
七、編譯hadoop
1、解壓hadoop源碼包
tar -zxvf hadoop-2.5.2-src.tar.gz
進入文件夾裏面,裏面有一個文件BUILDINT.txt,打開即可看見裏面關於編譯hadoop的一些環境要求
1 cd /root/hadoop-2.5.2-src/
2 cd hadoop-2.5.2-src
3
4 vim BUILDINT.txt
5
2、編譯hadoop
進入解壓後的原文件中,即上面查看BUILDING.txt文件目錄,然後輸入一下命令即可
mvn package -Pdist,native -DskipTests -Dtar
或者是下面的命令
mvn package -DeskipTests -Pdist,native
3、等帶編譯結果
編譯完成後會有提示,SUCCESS / FAILURE。如下
如果編譯失敗,向上滾動,變能夠查看什麼地方出錯了。
4、查看編譯結果
同樣在剛剛進行編譯的那個目錄下,有一個 hadoop-dist文件夾,進入裏面的target文件夾,然後就可以看到編譯成功64位的hadoop文件,解壓後的在 hadoop-2.5.2 這個文件夾中,同時還生成了一個壓縮包:hadoop-2.5.2-tar.gz 這個壓縮包可以拷貝到別的機器上進行安裝