hadoop沒法加載本地庫

centos上安裝配置完hadoop,每次執行hadoop命令,總會出現警告:Unable to load native-hadoop library for your platform。java

使用hadoop的版本是:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gzapache

在網上查了一下,說是要加環境變量vim

vim /etc/profile
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"centos

# 保存oop

source /etc/profilespa

中止、啓動hadoop,仍是會出現同樣的警告。操作系統

 

還有種說法是HADOOP_OPTS配置應該以下:orm

vim /etc/profile
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"ip

但仍是不起做用。hadoop

 

最後發現:操做系統的版本是32位,執行以下命令,沒有看到64的字樣

uname -a

Linux dev3 2.6.32-642.1.1.el6.i686 #1 SMP Tue May 31 20:41:01 UTC 2016 i686 i686 i386 GNU/Linux

 

查看hadoop的本地庫信息信息,能夠看到是64位的,與32位操做系統不一致

file $HADOOP_HOME/lib/native/libhadoop.so.1.0.0

/root/hadoop/hadoop-2.7.3/lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

 

最後:安裝64位的centos,運行hadoop,沒有上面的環境變量配置也不會有如上的警告。

最後的結論:hadoop的本地庫版本要和操做系統的版本一致,否則加載不了。

相關文章
相關標籤/搜索