当前位置:   article > 正文

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

warn util.nativecodeloader: unable to load native-hadoop library for your pl

搭建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

  • 1
  • 2
  • 3

再看下 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
  • 1
  • 2

本人启动失败原因是因为/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)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

可以看到是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.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

还可以直接确认下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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

[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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

更新后检验:

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

原因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"
 
  • 1
  • 2
  • 3
  • 4

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/941367
推荐阅读
相关标签
  

闽ICP备14008679号