我在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
Run Code Online (Sandbox Code Playgroud)
我通过编辑.bashrc文件来设置环境变量:
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib
Run Code Online (Sandbox Code Playgroud)
当我输入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
Run Code Online (Sandbox Code Playgroud)
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"
Run Code Online (Sandbox Code Playgroud)
确保编译的本机库文件位于 $HADOOP_HOME/lib 文件夹中。
它应该可以解决这个问题。