我在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
有人能提供一些关于这个问题的线索吗?
答案 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
尝试一下,适合我