在CentOS-x86_64位機器下編譯hadoop-2.6.0源碼

** 環境:CentOS-x86_64位系統 hadoop版本:hadoop-2.6.0-src.tar.gz**java

因爲hadoop官網只提供32位版本,安裝後會出現一個錯誤,在64系統上運行會出錯:apache

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

步驟以下 1.在Linux安裝依賴軟件: jdk-1.7和maven-3.3.3我是獨立安裝的 注意:若是用JDK1.8 編譯會報錯註釋標籤問題tomcat

yum install -y libprotobuf-dev protobuf-compiler cmake build-essential pkg-config libssl-dev zlib1g-dev llvm-gcc automake autoconf make

2.下載hadoop-2.6.0源碼bash

wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0-src.tar.gz

3.下載完成後解壓app

tar -zxvf hadoop-2.6.0-src.tar.gz

4.進去入解壓後的文件目錄,並編譯maven

cd hadoop-2.6.0-src
mvn package -DskipTests -Pdist,native -Dtar

這一步比較耗時,大概須要15~30分鐘。 正確執行的結果以下:oop

編譯好的二進制文件包位於: hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0.tar.gz 其餘版本編譯大概相同 備註: 使用自行編譯的Hadoop二進制包安裝Hadoop時須要刪除.bashrc文件與hadoop-env.sh文件中下面兩行(默認不會有這兩行,可是嘗試解決報錯時可能改寫了)ui

export HADOOP_COMMON_LIB_NATIVE_DIR="~/hadoop/lib/"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=~/hadoop/lib/"

------- OK -------code

成功 編譯後

出現的問題:orm

1.protobuf(2.3)版本太低 問題 需安裝protobuf-2.5.0

2.tomcat6下載失敗報錯 tomcat6下載失敗報錯 手動下載apache-tomcat-6.0.41.tar.gz 放在hadoop-2.6.0-src/hadoop-common-project/hadoop-kms/downloads/ 目錄下

3.同上面第二個問題

同上面問題

由於下載很慢或失敗,仍是須要手動下載apache-tomcat-6.0.41.tar.gz後放在 hadoop-hdfs-project/hadoop-hdfs-httpfs/downloads/目錄下

相關文章
相關標籤/搜索