Hadoop:无法为您的平台加载native-hadoop库

时间:2016-05-08 09:45:10

标签: java hadoop

我在Ubuntu上安装了Hadoop 2.7.2单节点,我想运行java wordcount程序。 jar文件的编译和创建都是成功完成的,但是当我在Hadoop上运行jar文件时,我会收到以下消息:

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

我通过编辑.bashrc文件来设置环境变量:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib

当我输入hadoop checknative时 - 我得到了这个:

hadoop: true /usr/local/hadoop/lib/native/libhadoop.so.1.0.0
zlib: true /lib/x86_64-linux-gnu/libz.so.1
snappy: false 
lz4: true revision:99
bzip2: false
openssl: true /usr/lib/x86_64-linux-gnu/libcrypto.so

16/05/09 00:48:53 INFO util.ExitUtil: Exiting with status 1

Hadoop版本:2.7.2

Ubuntu版本:14.04

有人能提供一些关于这个问题的线索吗?

4 个答案:

答案 0 :(得分:4)

将已编译的本机库文件移动到$ HADOOP_HOME / lib文件夹。

然后通过编辑.bashrc文件

设置环境变量
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib  
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib"

确保已编译的本机库文件位于$ HADOOP_HOME / lib文件夹中。

应该解决这个问题。

答案 1 :(得分:1)

将下面的命令行添加到hadoop-env.sh,它应该可以抑制遇到的错误

export HADOOP_HOME_WARN_SUPPRESS=1
export HADOOP_ROOT_LOGGER="WARN,DRFA"

答案 2 :(得分:0)

尝试将hadoop jars-“hadoop-common.jar和hadoop-core.jar”加载到类路径中。您可以在创建jar文件时在eclipse ans中执行此操作,这些jar将自动引用。

答案 3 :(得分:-2)

修改hadoop-env.sh

中的文件/usr/local/etc/hadoop

将Hadoop库添加到LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/usr/local/hadoop/lib/native/:$LD_LIBRARY_PATH

尝试一下,适合我