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 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号