当前位置:   article > 正文

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

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

意思是: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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

不过这招:治标不治本。最终还是没有成功加载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

参考:
大佬博客1
博客2

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号