我目前正在运行 CentO 的服务器上配置hadoop 。运行start-dfs.sh或时stop-dfs.sh,出现以下错误:
start-dfs.sh
stop-dfs.sh
WARN util.NativeCodeLoader:无法为您的平台加载本地hadoop库…在适当情况下使用内置java类
我正在运行 Hadoop 2.2.0。
在线进行搜索会显示以下链接:http : //balanceandbreath.blogspot.ca/2013/01/utilnativecodeloader-unable-to- load.html
但是,/native/hadoop 2.x 上目录的内容似乎有所不同,因此我不确定该怎么做。
/native/
我还在以下位置添加了这两个环境变量hadoop-env.sh:
hadoop-env.sh
出口HADOOP_OPTS =“ $ HADOOP_OPTS -Djava.library.path = / usr / local / hadoop / lib /” 导出HADOOP_COMMON_LIB_NATIVE_DIR =“ / usr / local / hadoop / lib / native /”
出口HADOOP_OPTS =“ $ HADOOP_OPTS -Djava.library.path = / usr / local / hadoop / lib /”
导出HADOOP_COMMON_LIB_NATIVE_DIR =“ / usr / local / hadoop / lib / native /”
有任何想法吗?
我假设您在64位CentOS上运行Hadoop。您看到警告的原因是本地Hadoop库$HADOOP_HOME/lib/native/libhadoop.so.1.0.0实际上是在32位上编译的。
$HADOOP_HOME/lib/native/libhadoop.so.1.0.0
无论如何,这只是一个警告,不会影响Hadoop的功能。
如果您确实想消除此警告,请采取以下方法:下载Hadoop的源代码并libhadoop.so.1.0.0在64位系统上重新编译,然后替换32位。
libhadoop.so.1.0.0
对于Ubuntu,此处包含有关如何重新编译源代码的步骤:
祝好运。