解决Hadoop2.7启动报WARN util.NativeCodeLoader: Unable..

配置环境:ubutun14.04 64位

hadoop2.7

今天启动hadoop2.7报 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 问题。

解决Hadoop2.7启动报WARN util.NativeCodeLoader: Unable.._第1张图片

搜索了一下结果后,网上普遍是如下解决办法:

在.bashr 或/etc/profile添加本地库语句:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

但是这种办法在我这里不适用。于是查找其他办法,后来详读了一下官网本地库介绍(http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/NativeLibraries.html)和网上资料(http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/NativeLibraries.html)后,才发现是util.NativeCodeLoader问题,代码参看http://grepcode.com/file/repo1.maven.org/maven2/com.ning/metrics.action/0.2.6/org/apache/hadoop/util/NativeCodeLoader.java/。

于是按照介绍,在$Hadoop_home/etc/hadoop/目录下打开log4j.properties,在里面添加语句:log4j.logger.org.apache.hadoop.util.NativeCodeLoader=DEBUG,启动还报错

DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: /opt/hadoop/lib/native/libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/hadoop/lib/native/libhadoop.so.1.0.0)。

改成log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR后,启动不报错了,结果如下

解决Hadoop2.7启动报WARN util.NativeCodeLoader: Unable.._第2张图片

这么修改的原因可以自己仔细琢磨。

主要参考:

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/NativeLibraries.html

http://stackoverflow.com/questions/19943766/hadoop-unable-to-load-native-hadoop-library-for-your-platform-warning



你可能感兴趣的:(解决Hadoop2.7启动报WARN util.NativeCodeLoader: Unable..)