美文网首页
Hadoop之—— WARN util.NativeCodeLo

Hadoop之—— WARN util.NativeCodeLo

作者: yuhan_sining | 来源:发表于2019-07-26 18:33 被阅读0次

配置完hadoop启动的时候出现如下警告信息:

19/07/26 15:31:44 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

问题在哪里?有人说这是hadoop的预编译包是32bit的,运行在64bit上就会有问题。但是这个答案大多数时候都是错的。

如何验证64bit还是32bit?
1、进入hadoop安装目录

[root@zdh129 ~]# cd /opt/hadoop-2.7.3/lib/native/

2、用ldd命令查看依赖库

[root@zdh129 native]# ldd libhadoop.so.1.0.0
        linux-vdso.so.1 =>  (0x00007fff9c3af000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f1660899000)
        libjvm.so => not found
        libc.so.6 => /lib64/libc.so.6 (0x00007f1660504000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003a08600000)

可以看到依赖的都是/lib64/的动态库,所以不是64位/32位问题。但是看到报错,libjvm.so找不到。

临时解决办法:
1、打开hadoop-env.sh文件

[root@zdh129 native]# vim /opt/hadoop-2.7.3/etc/hadoop/hadoop-env.sh

2、在hadoop-env.sh中给HADOOP_OPTS配置项增加
-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"

3、重新格式化,并重启hdfs

[root@wkh11 hadoop]# hdfs namenode -format
[root@wkh11 hadoop]# start-dfs.sh

相关文章

网友评论

      本文标题:Hadoop之—— WARN util.NativeCodeLo

      本文链接:https://www.haomeiwen.com/subject/imndrctx.html