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

新手上路,请多包涵

我目前正在运行 CentOs 的服务器上配置 hadoop。当我运行 start-dfs.shstop-dfs.sh 时,我收到以下错误:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… 在适用的情况下使用内置 java 类

我正在运行 Hadoop 2.2.0。

在线搜索出现了这个链接: http ://balanceandbreath.blogspot.ca/2013/01/utilnativecodeloader-unable-to-load.html

但是,hadoop 2.x 上 /native/ 目录的内容似乎有所不同,所以我不知道该怎么办。

我还在 hadoop-env.sh 中添加了这两个环境变量:

导出 HADOOP_OPTS=“$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/”

导出 HADOOP_COMMON_LIB_NATIVE_DIR=“/usr/local/hadoop/lib/native/”

有任何想法吗?

原文由 Olshansk 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

我假设您在 64 位 CentOS 上运行 Hadoop。您看到该警告的原因是本机 Hadoop 库 $HADOOP_HOME/lib/native/libhadoop.so.1.0.0 实际上是在 32 位上编译的。

无论如何,这只是一个警告,不会影响 Hadoop 的功能。

如果您确实想消除此警告,请下载Hadoop的源代码并在64位系统上重新编译 libhadoop.so.1.0.0 ,然后替换32位。

对于 Ubuntu,此处包含有关如何重新编译源代码的步骤:

祝你好运。

原文由 zhutoulala 发布,翻译遵循 CC BY-SA 3.0 许可协议

只需将单词添加到你的 --- HADOOP_OPTS 就像这样:

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

PS:感谢 Searene

原文由 Hoai-Thu Vuong 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题