Unable to load native-hadoop library for your platform

Unable to load native-hadoop library for your platform


問題:

在運行hadoop的時候,出現警告:

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

原因:

Apache提供的hadoop本地庫是32位的,而在64位的服務器上就會有問題,因此需要自己編譯64位的版本。

解決:

一、需要準備的軟件:

1.JDKGCC

2.安裝maven

下載 wget http://www.eng.lsu.edu/mirrors/apache/maven/maven-3/3.2.1/binaries/apache-maven-3.2.1-bin.tar.gz

解壓 tar -zxvf apache-maven-3.2.1-bin.tar.gz

配置環境變量,編輯/etc/profile或者~/.bashrc文件

export MAVEN_HOME=/home/username/apache-maven-3.2.1

export PATH=$PATH:$MAVEN_HOME/bin

最後要source /etc/profile

通過mvn --version來檢查是否安裝正常

3.安裝protobuf

下載wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz

解壓 tar -zxvf protobuf-2.5.0.tar.gz

進入protobuf-2.5.0目錄,執行下面的命令

./configure

make

make check

make install

可以通過protoc --version來查看是否安裝正常

4.安裝cmake

下載 wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz

解壓 tar -zxvf cmake-2.8.12.2.tar.gz

進入cmake-2.8.12.2目錄,執行下面的命令

./bootstrap

make

make install

可以通過cmake --version來查看是否安裝正常

5.安裝autotool

yum install autoconf automake libtool

6.安裝openssl-devel

yum install openssl-devel

7.網上有說可能還需要findingbugs

如果需要可以自己去下載,解壓並配置環境變量即可。

http://sourceforge.jp/projects/sfnet_findbugs/downloads/findbugs/3.0.0/findbugs-3.0.0-dev-20131204-e3cbbd5.tar.gz/


二、編譯haodoop

1.下載源碼包hadoop-2.2.0-src.tar.gz並解壓

wget http://apache.mirrors.pair.com/hadoop/common/hadoop-2.2.0/hadoop-2.2.0-src.tar.gz

tar -zxvf hadoop-2.2.0-src.tar.gz

注:參考的博客中說源碼有問題需要修改,但筆者並未修改也編譯成功了,有需要的可以參考

http://www.linuxidc.com/Linux/2014-01/95938.htm

2.進入hadoop-2.2.0-src目錄,執行

mvn clean package -Pdist,native -DskipTests -Dtar

接下來就是漫長的等待,當你看到一系列的SUCCESS之後,你就成功了。

3.編譯好的hadoop-2.2.0.tar.gzhadoop-2.2.0-src木目錄下的hadoop-dist/target/的目錄中,接下來就可以安裝了。

4.如果在編譯過程中報錯,缺少的包或者軟件可以自己去網上找。


參考:http://www.linuxidc.com/Linux/2014-01/95938.htm


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章