hadoop无法加载本地库

centos上安装配置完hadoop,每次执行hadoop命令,总会出现警告:Unable to load native-hadoop library for your platform。

使用hadoop的版本是:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

在网上查了一下,说是要加环境变量

vim /etc/profile
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

# 保存

source /etc/profile

停止、启动hadoop,还是会出现一样的警告。

 

还有种说法是HADOOP_OPTS配置应该如下:

vim /etc/profile
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

但还是不起作用。

 

最后发现:操作系统的版本是32位,执行如下命令,没有看到64的字样

uname -a

Linux dev3 2.6.32-642.1.1.el6.i686 #1 SMP Tue May 31 20:41:01 UTC 2016 i686 i686 i386 GNU/Linux

 

查看hadoop的本地库信息信息,可以看到是64位的,与32位操作系统不一致

file $HADOOP_HOME/lib/native/libhadoop.so.1.0.0

/root/hadoop/hadoop-2.7.3/lib/native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

 

最后:安装64位的centos,运行hadoop,没有上面的环境变量配置也不会有如上的警告。

最后的结论:hadoop的本地库版本要和操作系统的版本一致,不然加载不了。

转载于:https://my.oschina.net/u/2007041/blog/859756

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值