Hadoop:无法为您的平台加载本机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

当我输入hadoopchecknative-a时,我得到的是:

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

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

将编译后的本机库文件移动到$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文件夹中。

它应该能解决这个问题。

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

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

尝试将hadoop jar-"hadoop-common.jar和hadoop-core.jar"加载到类路径中。您可以在eclipse中简单地执行此操作,同时创建一个jar文件,这些jar文件将被自动引用。

我有这个错误。

我通过将winutils.exe和hadoop.dll文件更新到更高版本来解决此问题。:)

https://github.com/kontext-tech/winutils/tree/master/hadoop-3.3.1(在那里我可以找到不同的版本)

/usr/local/etc/hadoop 中编辑文件hadoop-env.sh

LD_LIBRARY_PATH:中添加Hadoop库

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

试试看,对我有用

最新更新