WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform解决方法

测试Hadoop本地模式时出现了这么一个警告!

18/12/09 22:07:09 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

 no native hadoop libraries,这个一般出现在windows和macos系统中。这是一个警告,并不是错误。可以在$HADOOP_CONF_DIR/log4j.properties (或者像是 etc/hadoop/log4j.properties)中,添加这么一行代码:

log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR 

这样的话,仅有errors(而不是warn)会在日志上面显示出来。

再有一种方法是:

可以到$HADOOP_HOME/lib/native下,查看文件libhadoop.so.1.0.0,里面会显示Hadoop的位数,官网下载好的显示是64位的,如下所示:

mymacdeMac-mini:native mymac$ 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]=51a4842b7499ff1fac8767851ac84cbddd4193eb, with debug_info, not stripped

 文件和操作系统都是64位的那为什么还会出现这样的警告呢。肯定是少了什么配置,没让库文件加载进去。

1.首先在.bash_profile中配置路径:

vim .bash_profile

export HADOOP_HOME=/usr/local/hadoop-x.y.z
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

2.生效即可:

source .bash_profile

 

你可能感兴趣的:(Hadoop)