Hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”

Hadoop在单机下面运行时抛出如下错误:Java HotSpot(TM) Client VM warning: You have loaded library /usr/hadoop-2.5.1/lib/native/ libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.

在单机下面运行Hadoop时,抛出了“Unable to load native-hadoop library”错误信息。作者在网上找到了解决办法,将解决过程记录下来,供Hadoop学习者进行参考。详细日志如下:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Hadoop单机运行出“hadoop-2.5.1/lib/native/libhadoop.so.1.0.0”错误 

根据上面的日志可得出,Java加载本地库lib失败。可能是因为找不到要加载的lib库,也可能是lib库存在问题。因此我们需要去指定lib库所在的位置。因此需要配置 “HADOOP_OPTS” 和 “HADOOP_COMMON_LIB_NATIVE_DIR” 两个环境变量。

解决办法:

/home/***/.bash_profile文件中添加如下环境变量。配置如下:

# Hadoop环境变量
export HADOOP_HOME=/home/snow/hadoop/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
 
# 重新加载.bash_profile文件
source /etc/profile
沉浸于现实的忙碌之中,没有时间和精力思念过去,成功也就不会太远了。——雷音
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号