001-編譯hadoop-2.5.2總結

    前兩天廢了很大的勁來對hadoop-2.5.2進行64位系統的手動編譯,因爲對linux系統環境以及hadoop自己的不熟悉,編譯過程當中也出現了不少的問題,在此記錄一下,對本身之後再次編譯和看到此文章的你有一個參考和幫助。html

1、準備的資料

  • 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系統的網絡暢通。java

2、安裝JDK

  

    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 

 

3、安裝maven

  

    這個和安裝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網絡

4、安裝protobuf

  

    這一步比較關鍵,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

 

5、安裝CMake

    CMake 須要2.6以上的版本,在安裝的時候會提示輸入 y/N,同時因爲安裝這個組件是須要聯網的,故根據網速不一樣,安裝的進度也不同

  

1  yum install cmake 2     yum  install  openssl-devel 3     yum  install  ncurses-devel

 

6、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

 

7、編譯hadoop

  一、解壓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 這個壓縮包能夠拷貝到別的機器上進行安裝 

8、問題

  

  一、jdk 不可以用1.8的,在編譯的第二個步驟中就失敗,查看緣由是: 意外的字符 </ul>  這個在百度上查看了不少人都遇到,都說是由於1.8和hadoop的兼容性很差,反正最後換成1.7的就安裝成功了

  

  

  二、換了 jdk 後,在編譯過程當中,仍是出現不少問題,mdkir plug(名字記不清了)。這個文件安裝失敗時,也沒有管他,再一次執行了最後的安裝命令,這一次經過了

  

  

  三、什麼插件什麼沒有安裝成功,也沒有管,再一次執行安裝,也過了

  

  

  四、common 文件安裝失敗,這一次就沒有那麼好的運氣了,不管怎麼從新執行,都沒有安裝成功,運行時沒有安裝 ant ,而後把後上面第六步中的 ant 安裝後,就成功編譯經過了,費時比較長

  

  

  五、安裝過程當中,網絡必定要很是暢通,若是網速很差,一樣可能會安裝失敗,同時也會影響安裝速度。因爲我電腦性能很差,安裝的時候也不敢作其餘的事情,就等着

 

上面基本上是在編譯 hadoop 中的步奏和問題。

參考文章:http://www.aboutyun.com/thread-8130-1-1.html

相關文章
相關標籤/搜索