解决WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform问题

我的系统是Centos6.5 64位,hadoop是2.4.0


hadoop安装完成之后,运行hadoop。总有警告:

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


网上查了下资料,原因是:

       我们官网下载回来的编译包的本地库 lib/native 中的 libhadoop.so.1.0.0, libhdfs.so.0.0.0是32位的,可以使用file * 查看。那么唯一的办法就是自己从官网下载hadoop源码并编译,并把编译完成的 hadoop-dist/target/hadoop-2.4.1/lib/native 下的 libhadoop.so.1.0.0, libhdfs.so.0.0.0 覆盖掉原来32位的文件。

官网相关说明地址如下:

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/NativeLibraries.html


编译完成并用64位文件覆盖掉原32位文件,再次开启hadoop,确还是报:

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


开启调试:

       export HADOOP_ROOT_LOGGER=DEBUG,console

       hadoop fs -text /test/data/origz/access.log.gz

发现:

其中 java.library.path 中的值是 /usr/local/hadoop/lib 。我们的本地库是存在lib下的native,会不会是这里的问题呢?

尝试在其后面添加native:

1、编辑配置文件:

2、配置文件

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native/"

3、使配置文件生效:


重新开启hadoop


问题解决了!!!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值