您好,登錄后才能下訂單哦!
這篇文章主要介紹centos6.5 64位下如何編譯hadoop2.5.1源碼,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
需要的工具:centos6.5 -64bit
jdk1.7.0.71
maven3.23 (http://mirrors.cnnic.cn/apache/maven/maven-3/3.2.3/binaries/apache-maven-3.2.3-bin.tar.gz)
ant1.9 (http://mirrors.cnnic.cn/apache//ant/binaries/apache-ant-1.9.4-bin.tar.gz)
findbugs (http://cznic.dl.sourceforge.net/project/findbugs/findbugs/2.0.3/findbugs-2.0.3.tar.gz)
需要的軟件:java, svn, autoconf, automake, libtool, ncurses-devel, openssl-devel, gcc, lzo-devel, zlib-devel, znt, maven, protobuf, cmake
檢測系統中是否已安裝了某一軟件命令:rpm -qa|grep 軟件名,如檢測系統中是否安裝了svn:
$ rpm -qa|grep svn
如果已安裝,則跳過,如果沒有安裝,用命令:yum install svn進行安裝,如:
$ yum install svn
如果yum命令安裝失敗(找不到相應的包),則需手動下載相應的軟件包進行安裝,比如maven, protobuf這兩個個軟件;
接下需要首先去apach官網下載hadoop2.5.1源碼包,并解壓;之后安裝jdk、maven、ant.詳細步驟網上很多。
問題導讀:
1.如果獲取hadoop src maven包?
2.編譯hadoop需要裝哪些軟件?
3.如何編譯hadoop2.4?
擴展:
編譯hadoop為何安裝這些軟件?
protobuf的安裝
為防止出錯,這里補充一些內容,
先安裝g++
sudo apt-get install g++
centos 下:yum install gcc-c++
下載 protobuf-2.5.0.tar.gz 網盤下載鏈接:http://pan.baidu.com/s/1dDgWe6P 密碼:xgiu
解壓 tar zxvf protobuf-2.5.0.tar.gz
$ sudo ./configure
$ sudo make
$ sudo make check
$ sudo make install
$ sudo ldconfig
如果系統中已經存在了低版本的protobuf,并被識別出來,則進行如下設置
修改環境變量:
vi /etc/profile
export LD_LIBRARY_PATH=~/protobuf-2.5.0
(LD_LIBRARY_PATH的這里,填寫的是protobuf文件的位置)
source /etc/profile
注意:配置/etc/profile,在虛擬機重啟后,可能配置會失效,所以重啟后,需要再次執行source操作。
驗證 protoc --version
.安裝openssl庫
sudo apt-get install libssl-dev / yum install openssl
CMake安裝
sudo apt-get install cmake / sudo yum install cmake
安裝findbugs(選擇安裝)
$ wget http://prdownloads.sourceforge.net/findbugs/findbugs-2.0.3.tar.gz?download $ sudo tar zxf findbugs-2.0.3.tar.gz -C /opt $ sudo vim /etc/profile export FINDBUGS_HOME=/opt/findbugs-2.0.3 export PATH=$PATH:$FINDBUGS_HOME/bin 驗證: [root@hadoop001 bin]# fb -version 2.0.3
進入src包執行編譯命令
mvn
package
-Pdist,
native
-DskipTests -Dtar
--不生成文檔
生成文檔的還未試驗
使用-Pdocs選項可以生成文檔,當然前提是安裝了Forrest 和Findbugs 可以參考如下命令手動指定:FORREST_HOME和FINDBUGS_HOME.
mvn package -Pdocs -DskipTests -Dtar -Dmaven.test.skip -Denv.FORREST_HOME=/usr/local/apache-forrest -Denv.FINDBUGS_HOME=/usr/local/findbugs
生成的文檔在各自的target/site目錄下.
記錄:
jdk1.8下編譯會有處理注釋標簽的問題。類似于一下問題:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.8.1:jar (module-javadocs) on project hadoop-annotations: MavenReportException: Error while creating archive:
[ERROR] Exit code: 1 - /home/hadoop/Desktop/hadoop-2.5.1-src/hadoop-common-project/hadoop-annotations/src/main/java/org/apache/hadoop/classification/InterfaceStability.java:27: error: unexpected end tag: </ul>
解決:更換為jdk1.7
[ERROR] around Ant part ...<exec dir="/home/hadoop/Desktop/hadoop-2.5.1-src/hadoop-common-project/hadoop-common/target/native" executable="cmake" failonerror="true">... @ 4:141 in /home/hadoop/Desktop/hadoop-2.5.1-src/hadoop-common-project/hadoop-common/target/antrun/build-main.xml
解決:
yum -y install zlib-devel
debian:apt-get install zlib1g-dev
yum -y install ncurses-devel
debian: apt-get install libncurses5-dev
[ERROR] around Ant part ...<exec dir="/home/hadoop/Desktop/hadoop-2.5.1-src/hadoop-tools/hadoop-pipes/target/native" executable="cmake" failonerror="true">... @ 5:131 in /home/hadoop/Desktop/hadoop-2.5.1-src/hadoop-tools/hadoop-pipes/target/antrun/build-main.xml
解決
yum install openssl-devel
以上是“centos6.5 64位下如何編譯hadoop2.5.1源碼”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。