运行hadoop指令之——WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform....

配置Hadoop时遇到WARN util.NativeCodeLoader警告,提示无法加载本地Hadoop库。虽然不影响运行,但可通过ldd检查依赖库发现GLIBC版本过低(2.12),而Hadoop需要2.14。解决方案包括升级GLIBC或在log4j配置中将NativeCodeLoader的日志级别设为ERROR,避免显示警告。若为集群,需在所有节点上执行相同操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置完hadoop启动的时候出现如下警告信息但是会正常显示结果:

[hadoop@min1 ~]$ hadoop fs -ls /
18/05/26 19:14:46 WARN util.NativeCodeLoader: Unable to load native-hadoop libra
ry for your platform... using builtin-java classes where applicable
Found 4 items
drwxr-xr-x   - hadoop supergroup          0 2018-05-25 10:57 /test 

1.问题:为什么会有警告?

提示不能加载本地hadoop库......虽然能运行, 但是有警告是不是看着很不爽?

那就让我们先来查看一下依赖库   

---->进入hadoop安装目录

[hadoop@min1 ~]$ cd /home/hadoop/develop_env/hadoop-2.7.1/lib/native/

用ldd命令查看依赖库, 会输出如下信息:

[hadoop@min1 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 =>  (0x00007fff853ff000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007fea1fafb000)
	libc.so.6 => /lib64/libc.so.6 (0x00007fea1f766000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fea1ff28000)


这里简单说一下ldd命令。 在linux中, ldd是list, dynamic, dependencies的缩写, 意思是, 列出动态库依赖关系。我们可以用ldd --help命令来查看其用法,这里就不做列举了!

GLIBC_2.14版本未不到,现在检查系统的glibc库,  ldd --version即可检查。

[hadoop@min1 native]$ 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.

看到没有?  glicb是2.12版本, 而hadoop期望的是2.14版本,所以给了个警告信息

现在有两个办法,重新编译glibc.2.14版本,安装后专门给hadoop使用,这个有点危险。

第二个办法直接在log4j日志中去除告警信息。

---->进入到hadoop安装目录/etc/hadoop/   如下 :

[hadoop@min1 ~]$ cd /home/hadoop/develop_env/hadoop-2.7.1/etc/hadoop/

修改如下文件 :

[hadoop@min1 hadoop]$ vi ./log4j.properties 

在该文件末尾增加一行 :

log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR

再来运营hadoop指令 :

[hadoop@min1 hadoop]$ hadoop fs -ls /
Found 4 items
drwxr-xr-x   - hadoop supergroup          0 2018-05-25 10:57 /test

解决!!!

顺便提一句, 如果你是集群的话 ,那么每一台都要去除警告信息才行 ,不然用其他机器执行hadoop指令一样有警告哈!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值