我已经在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
试试看,对我有用