前兩天廢了很大的勁來對hadoop-2.5.2進行64位系統的手動編譯,因爲對linux系統環境以及hadoop自己的不熟悉,編譯過程當中也出現了不少的問題,在此記錄一下,對本身之後再次編譯和看到此文章的你有一個參考和幫助。html
這些文件,須要上傳到linux系統中,我使用的是SSH來進行上傳的,直接上傳到了 /root 目錄下。同時因爲安裝過程當中須要在線下載東西,古須要保持linux系統的網絡暢通。java
JDK的安裝百度一下有不少文章,我使用的是 jdk-7u71-linux-x64.tar.gz。在oracle的官網上也可以下載。jdk的安裝在linux下就是一個加壓縮的過程。 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
這個和安裝jdk是同樣的,安裝成後一樣須要配置環境變量c++
export MAVEN_HOME=/usr/mvn/apache-maven-3.2.5 export PATH=.:$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
一樣,輸入命令使配置文件生效 apache
source /etc/profile
檢測是否安裝成功: vim
mvn -version
可以看到關於maven的一些信息,包括所使用的jdk網絡
這一步比較關鍵,protobuf最好是提早下載而後上傳上去。安裝protobuf前,須要安裝一些其餘的東西oracle
yum install gcc 安裝c++ yum install gcc-c++ 而後會兩次提示輸入 y(yes/no) yum install make 可能會提示由於make已是最新版本,而不會安裝,這個無所謂,反正是最新版本,就不安裝了
接下來即是安裝protobuf,一樣是一個解壓縮的過程maven
cd /root tar -zxvf protobuf-2.5.0.tar.gz
而後進入到安裝目錄中,以此輸入一下命令: oop
1 cd /protobuf-2.5.0
2 ./configrue 3 make 4 make install
我在進行上面第二個命令,對configure進行預編譯時報錯,查看異常後,是c++沒有安裝成功,便再一次執行了:yum install gcc-c++ 命令,OK
make 命令執行的時間比較長,最後一個命令的執行安裝,若是出現錯誤,從新來過便可
測試
protoc --version
CMake 須要2.6以上的版本,在安裝的時候會提示輸入 y/N,同時因爲安裝這個組件是須要聯網的,故根據網速不一樣,安裝的進度也不同
1 yum install cmake 2 yum install openssl-devel 3 yum install ncurses-devel
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源碼包
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
二、編譯hadoop
進入解壓後的原文件中,即上面查看BUILDING.txt文件目錄,而後輸入一下命令便可
mvn package -Pdist,native -DskipTests -Dtar
或者是下面的命令
mvn package -DeskipTests -Pdist,native
三、等帶編譯結果
編譯完成 後會有提示,SUCCESS / FAILURE。以下
若是編譯失敗,向上滾動,變可以查看什麼地方出錯了。
四、查看編譯結果
一樣在剛剛進行編譯的那個目錄下,有一個 hadoop-dist文件夾,進入裏面的target文件夾,而後就能夠看到編譯成功64位的hadoop文件,解壓後的在 hadoop-2.5.2 這個文件夾中,同時還生成了一個壓縮包:hadoop-2.5.2-tar.gz 這個壓縮包能夠拷貝到別的機器上進行安裝
一、jdk 不可以用1.8的,在編譯的第二個步驟中就失敗,查看緣由是: 意外的字符 </ul> 這個在百度上查看了不少人都遇到,都說是由於1.8和hadoop的兼容性很差,反正最後換成1.7的就安裝成功了
二、換了 jdk 後,在編譯過程當中,仍是出現不少問題,mdkir plug(名字記不清了)。這個文件安裝失敗時,也沒有管他,再一次執行了最後的安裝命令,這一次經過了
三、什麼插件什麼沒有安裝成功,也沒有管,再一次執行安裝,也過了
四、common 文件安裝失敗,這一次就沒有那麼好的運氣了,不管怎麼從新執行,都沒有安裝成功,運行時沒有安裝 ant ,而後把後上面第六步中的 ant 安裝後,就成功編譯經過了,費時比較長
五、安裝過程當中,網絡必定要很是暢通,若是網速很差,一樣可能會安裝失敗,同時也會影響安裝速度。因爲我電腦性能很差,安裝的時候也不敢作其餘的事情,就等着
上面基本上是在編譯 hadoop 中的步奏和問題。