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相关命令的时候就不会再有上面的提示啦。

    原文作者:digger30
    原文地址: https://www.jianshu.com/p/f25a0caafcc6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞