Hadoop 启动WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using

搭建hadoop 环境时遇到启动异常告警问题 “WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

上来不多说,百度收集些相关文档比可参考文章:
Hadoop之—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform…

hadoop 版本:CDH hadoop-2.6.0-cdh5.9.3.tar.gz

https://blog.csdn.net/l1028386804/article/details/51538611

[大数据入门]解决centos6.5中WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platfor

https://blog.csdn.net/u012425536/article/details/78770410

异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform

https://blog.csdn.net/young_kim1/article/details/50324345

问题描述 :

20/03/26 22:51:08 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

原因1:

网上说可以能不是linux 操作系统默认 64位 而 系统是 32位,那我们要自己验证一下。

[root@localhost native]# uname -r
2.6.32-754.25.1.el6.x86_64

再看下 libhadoop.so.1.0.0 库 的版本

[root@localhost native]# file libhadoop.so.1.0.0
libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

本人启动失败原因是因为/hadoop-2.6.0-cdh5.9.3/lib/native 本地库目录下为空,把之前环境的或者网上找native 库拷贝到目录就可以 个人已验证
在这里插入图片描述

原因2:

其实是依赖库的问题

我们对静态库查看下依赖:看下依赖是否都正常:

通过指令 ldd libhadoop.so.1.0.0

[root@localhost native]#  ldd libhadoop.so.1.0.0
	./libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./libhadoop.so.1.0.0)
        linux-vdso.so.1 =>  (0x00007fff369ff000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f3caa7ea000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f3caa455000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3caac1b000)

可以看到是glibc 版本的问题:

我们再确认下:

GLIBC_2.14找不到,现在检查系统的glibc库, ldd --version 即可检查。
输入命令:

ldd --version


ldd (GNU libc) 2.12
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

还可以直接确认下glibc 目前支持的版本:

通过如下查询方法:

strings /lib64/libc.so.6|grep GLIBC

[root@localhost native]# strings /lib64/libc.so.6|grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE

Glibc 升级:

Glibc 升级这里我们采用从源码编译安装的方法:

我也尝试了直接从rpm 包 安装的方式,但是并不成功,主要是系统中应用依赖的问题,

可以参看这篇文章 : rpm 包安装:

[大数据入门]解决centos6.5中WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platfor

https://blog.csdn.net/u012425536/article/details/78770410

由于怕导致系统出问题,没有直接卸载原有的 rpm 包。

下载源码:

http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 
这里可以选择你所需要的版本。

执行指令:

wget  http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 

[root@kafzook1 common]# tar -xf glibc-2.17.tar.gz
[root@kafzook1 common]# cd glibc-2.17
[root@kafzook1 glibc-2.17]# mkdir build; cd build
[root@kafzook1 build]# ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@kafzook1 build]# make -j 8
[root@kafzook1 build]# make  install
[root@kafzook1 common]# strings /lib64/libc.so.6 | grep GLIBC
会看到下面的结果
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE

更新后检验:

[root@localhost java]#  hadoop fs -ls /
Found 1 items
-rw-r--r--   1 root supergroup         56 2020-03-26 23:28 /text.txt

原因3

环境配置的问题:

vim /etc/profile中,添加下面配置:

export HADOOP_HOME=/wwwzyy/java/hadoop-2.6.0-cdh5.9.3/
export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export  HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
 

最后记得使配置生效:source /etc/profile

并把相同配置添加到/etc/hadoop/hadoop-env.sh文件末尾。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟-要努力

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值