WARN util.NativeCodeLoader:无法为您的平台加载native-hadoop库...使用适用的builtin-java类

时间:2016-07-05 08:40:10

标签: hadoop

alpesh@alpesh-Inspiron-3647:~/hadoop-2.7.2/sbin$ hadoop fs -ls 16/07/05 13:59:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

它还显示输出如下

hadoop check native -a 16/07/05 14:00:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Native library checking: hadoop: false zlib: false snappy: false lz4: false bzip2: false openssl: false 16/07/05 14:00:42 INFO util.ExitUtil: Exiting with status 1

请帮我解决这个问题

4 个答案:

答案 0 :(得分:9)

您正在使用的库已编译为32位,您使用的是64位版本。所以打开你的.bashrc文件,其中hadoop的配置存在。转到这一行

export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

并将其替换为

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

答案 1 :(得分:1)

要消除此错误:

假设Jar文件位于/home/cloudera/test.jar,类文件位于/home/cloudera/workspace/MapReduce/bin/mapreduce/WordCount,其中mapreduce是程序包名称。

输入文件mytext.txt位于/user/process/mytext.txt,输出文件位置为/user/out

我们应该通过以下方式运行此mapreduce程序:

$hadoop jar /home/cloudera/bigdata/text.jar mapreduce.WordCount /user/process /user/out

答案 2 :(得分:0)

在hadoop用户的bash配置文件中添加这些属性。问题将得到解决

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

答案 3 :(得分:0)

这只是一个警告,因为它找不到正确的.jar。要么编译它,要么因为它不存在。

如果我是你,我会简单地忽略它

为此,请在相应的配置文件中添加

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