启动Hadoop文件系统时报错:util.NativeCodeLoader: Unable to load native-hadoop library for your platform..using

启动Hadoop文件系统时报错:

18/06/21 00:45:57 WARNutil.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

 

首先打开调试,查看具体的报错信息

在/etc/profile中,添加

Export HADOOP_ROOT_LOGGER=DEBUG,console

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

查看错误信息

 启动Hadoop文件系统时报错:util.NativeCodeLoader: Unable to load native-hadoop library for your platform..using_第1张图片

 

错误信息如下:Failed to load native-hadoop with error:java.lang.UnsatisfiedLinkError:/usr/soft/hadoop/hadoop-2.5.2/lib/native/libhadoop.so.1.0.0: /lib64/libc.so.6:version `GLIBC_2.14'

not found (required by/usr/soft/hadoop/hadoop-2.5.2/lib/native/libhadoop.so.1.0.0)

可以看到是因为系统的glibc版本太低,查看当前系统的glibc支持的所有版本

strings /lib64/libc.so.6 |grep GLIBC_

启动Hadoop文件系统时报错:util.NativeCodeLoader: Unable to load native-hadoop library for your platform..using_第2张图片

 

可以看到并不支持2.14的版本

本次下载的是glibc-2.14.tar.xz压缩包,解压到任意目录

[root@myhostname glibc-2.14]# pwd

/usr/soft/glibc-2.14

[root@myhostname glibc-2.14]# xz -dglibc-2.14.tar.xz

[root@myhostname glibc-2.14]# tar xvfglibc-2.14.tar

[root@myhostname glibc-2.14]# cd glibc-2.14

[root@myhostname glibc-2.14]# mkdir build

[root@myhostname glibc-2.14]# cd build

[root@myhostname build]# ../configure --prefix=/opt/glibc-2.14

[root@myhostname build]# make -j4

[root@myhostname build]# sudo make install

[root@myhostname build]# exportLD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH

[root@myhostname build]# cp/opt/glibc-2.14/lib/libc-2.14.so /lib64/libc-2.14.so

[root@myhostname build]# mv/lib64/libc.so.6 /lib64/libc.so.6.bak

[root@myhostname build]#LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6

 

最后执行strings /lib64/libc.so.6 |grep GLIBC_,查看glibc是否更新

[root@myhostname var]# strings/lib64/libc.so.6 |grep GLIBC_

启动Hadoop文件系统时报错:util.NativeCodeLoader: Unable to load native-hadoop library for your platform..using_第3张图片

你可能感兴趣的:(Hadoop)