Hadoop之Unable to load native-hadoop library問題解決

在安裝好Hadoop後,每次輸入命令都會出現下面警告:

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

提示hadoop不能加載本地庫。
可以到$HADOOP_HOME/lib/native下,查看文件libhadoop.so.1.0.0,裏面會顯示Hadoop的位數,官網下載好的顯示是64位的,如下所示:

[hadoop@dxer hadoop-2.6.4]$ cd lib/native/
[hadoop@dxer native]$ ls
libhadoop.a  libhadooppipes.a  libhadoop.so  libhadoop.so.1.0.0  libhadooputils.a  libhdfs.a  libhdfs.so  libhdfs.so.0.0.0
[hadoop@dxer native]$ file libhadoop.so.1.0.0 
libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b3b5e812c2a91fa4b28aa33eb76dc6889d3b91e9, not stripped
[hadoop@dxer native]$ 

文件和操作系統都是64位的那爲什麼還會出現這樣的警告呢。肯定是少了什麼配置,沒讓庫文件加載進去。

只需要進行簡單配置即可。

配置如下:

  1. 首先在bashrc中加入如下配置:

vim ~/.bashrc

配置如下

export HADOOP_HOME=/home/hadoop/hadoop-2.6.4
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
  1. 使上面配置生效:

source ~/.bashrc

ok,再去執行啓動dfs/yarn或者運行hadoop相關命令的時候就不會再有上面的提示啦。

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