hadoop“无法为您的平台加载本机hadoop库”警告

8fsztsew  于 2021-06-03  发布在  Hadoop
关注(0)|答案(21)|浏览(557)

我目前正在运行centos的服务器上配置hadoop。当我跑的时候 start-dfs.sh 或者 stop-dfs.sh ,我得到以下错误:
warn util.nativecodeloader:无法为您的平台加载本机hadoop库。。。在适用的情况下使用内置java类
我正在运行hadoop2.2.0。
在网上搜索时出现以下链接:http://balanceandbreath.blogspot.ca/2013/01/utilnativecodeloader-unable-to-load.html
但是 /native/ hadoop2.x上的目录似乎不同,所以我不知道该怎么办。
我还在中添加了这两个环境变量 hadoop-env.sh :
export hadoop\u opts=“$hadoop\u opts-djava.library.path=/usr/local/hadoop/lib/”
导出hadoop\u common\u lib\u native\u dir=“/usr/local/hadoop/lib/native/”
有什么想法吗?

t0ybt7op

t0ybt7op16#

基本上,这不是一个错误,而是hadoop集群中的一个警告。这里我们只更新环境变量。

export HADOOP_OPTS = "$HADOOP_OPTS"-Djava.library.path = /usr/local/hadoop/lib
export HADOOP_COMMON_LIB_NATIVE_DIR = "/usr/local/hadoop/lib/native"
ldioqlga

ldioqlga17#

我猜你在64位centos上运行hadoop。您看到该警告的原因是本机hadoop库 $HADOOP_HOME/lib/native/libhadoop.so.1.0.0 实际上是在32位上编译的。
总之,这只是一个警告,不会影响hadoop的功能。
如果您确实想消除此警告,请下载hadoop的源代码并重新编译 libhadoop.so.1.0.0 在64位系统上,然后替换32位系统。
关于如何为ubuntu重新编译源代码的步骤如下:
http://www.ercoppa.org/linux-compile-hadoop-220-fix-unable-to-load-native-hadoop-library.htm
祝你好运。

woobm2wo

woobm2wo18#

在我的例子中,在我的64位linux mint操作系统上构建hadoop之后,我替换了中的本机库 hadoop/lib . 问题仍然存在。然后我发现hadoop指向 hadoop/lib 不是为了 hadoop/lib/native . 所以我把所有内容从本机库移到其父库。警告也不见了。

k4emjkb1

k4emjkb119#

只需将本机单词附加到 HADOOP_OPTS 这样地:

export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=$HADOOP_HOME/lib/native"

ps:谢谢searene

t5fffqht

t5fffqht20#

我也有同样的问题。通过在 .bashrc :

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
qeeaahzv

qeeaahzv21#

这一行就在这里:

export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

昆贝特的答案是钱在哪里

相关问题