我目前正在运行 CentOs 的服务器上配置 hadoop。当我运行 start-dfs.sh
或 stop-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 许可协议
我假设您在 64 位 CentOS 上运行 Hadoop。您看到该警告的原因是本机 Hadoop 库
$HADOOP_HOME/lib/native/libhadoop.so.1.0.0
实际上是在 32 位上编译的。无论如何,这只是一个警告,不会影响 Hadoop 的功能。
如果您确实想消除此警告,请下载Hadoop的源代码并在64位系统上重新编译
libhadoop.so.1.0.0
,然后替换32位。对于 Ubuntu,此处包含有关如何重新编译源代码的步骤:
祝你好运。