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

Aine ·
更新时间:2024-09-20
· 797 次阅读

搭建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文件末尾。


作者:zyy_43829047



util library USING TO for hadoop

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章