[已解决]hadoop报错: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platfor

环境

  • 宿主机:Windows 10 64_bit
  • 虚拟机:VMware pro 12
    • CentOS 7.5 64_bit(3台:1个master、2个slave)
    • Hadoop-2.6.5
  • ssh工具:SecureCRT 7.3
[root@master mydb]# hadoop fs -ls /
19/07/02 14:13:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 7 items
drwxr-xr-x   - root supergroup          0 2019-04-26 12:26 /data
drwxr-xr-x   - root supergroup          0 2019-05-25 20:50 /hadoop
...

意思是:WARN级别的警告(也就是说:对后续操作比如hadoop fs和hive等不影响,不是强迫症的可以暂时无视它,哈哈),无法为平台加载本地hadoop库…可使用合适的内置java类。

网友说是因为glibc库跟hadoop不一致的问题,但我这应该和这位的原因不一样。因为下方并没有报错:

[root@master native]# pwd
/usr/local/src/hadoop-2.6.5/lib/native
ldd --version
[root@master native]# ldd (GNU libc) 2.17
Copyright (C) 2012 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.
[root@master native]# ldd libhadoop.so.1.0.0
        linux-vdso.so.1 =>  (0x00007fff21d9f000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fef14051000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fef13c84000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fef14476000)
[root@master native]#

方法1:

所以还是参考网友的方法:直接在log4j日志中去除告警信息。

[root@master hadoop]# pwd
/usr/local/src/hadoop-2.6.5/etc/hadoop
[root@master hadoop]# vim log4j.properties
...
....
在文件尾部添加下方这句:
log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR

不过这招:治标不治本。最终还是没有成功加载native-hadoop library因此忽视这个方法。

方法2:针对ldd --version没有提示:version GLIBC_2.xxx not found的 解决方案是让它成功加载native-hadoop library

在hadoop下/etc/hadoop/hadoop-env.sh文件下第52行后面添加下方配置:

export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

参考:
大佬博客1
博客2

  • 30
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值