错误呈现:

在执行hadoop fs命令时,出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable错误-LMLPHP

解决过程:

(参考链接:https://www.cnblogs.com/kevinq/p/5103653.html)

1.输出hadoop的详细日志,并执行hadoop fs命令来查看错误信息

执行 export HADOOP_ROOT_LOGGER=DEBUG,console

[root@ATzoe ~]# export HADOOP_ROOT_LOGGER=DEBUG,console
[root@ATzoe ~]# hadoop fs -ls hdfs://ATzoe:9000/

错误信息如下:

在执行hadoop fs命令时,出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable错误-LMLPHP

2. 安装并升级glibc

(1)安装

[root@ATzoe ~]# yum -y install glibc

查看glic的版本

[root@ATzoe ~]# ldd --version

显示“ldd (GNU libc) 2.12”,即版本为2.12,由于hadoop依赖glibc-2.14以上版本,因此要升级glibc的版本。

(2)下载

到链接 http://ftp.ntu.edu.tw/gnu/glibc/ 下载 glibc-2.14.tar.bz2 和 glibc-linuxthreads-2.5.tar.bz2;

将下载的两个文件放到linux系统中。

(3)安装

解压glibc-2.14.tar.bz2到当前目录

[root@ATzoe ~]# tar -xjf glibc-2.14.tar.bz2

将glibc-linuxthreads-2.5.tar.bz2移动到glibc-2.14.tar.bz2的解压目录下

[root@ATzoe ~]# mv glibc-linuxthreads-2.5.tar.bz2 glibc-2.14/

进到glibc-2.14目录,解压glibc-linuxthreads-2.5.tar.bz2

[root@ATzoe glibc-2.14]# tar -xjf glibc-linuxthreads-2.5.tar.bz2

回到 glibc-2.14 的上级目录,执行命令:

[root@ATzoe ~]# glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks

执行make命令

[root@ATzoe ~]# make

执行make install命令

[root@ATzoe ~]# make install

使用命令ls -l /lib/libc.so.6查看是否升级成功

[root@ATzoe ~]#  ll /lib64/libc.so.6

显示“ lrwxrwxrwx 1 root root 11 Nov 12 09:24 /lib/libc.so.6 -> libc-2.14.so ” 即为升级成功

3.格式化hadoop,重启hadoop

[root@ATzoe ~]# hadoop namenode -format

[root@ATzoe ~]# start-dfs.sh

[root@ATzoe ~]# start-yarn.sh

05-02 05:07