hadoop的问题--WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform

1. 问题描述

发现hadoop集群,经常出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform这个错误,

所以在hadoop安装目录下,执行 hadoop checknative -a

发现结果是(都是false):

Native library checking:
hadoop:  false
zlib:    false
snappy:  false
lz4:     false
bzip2:   false
openssl: false

而且会导致 创建hbase表的时候,不支持snappy压缩,也就是创建表的语句写成这样:create 'tableName11', {NAME => 'cf', VERSIONS => 1, COMPRESSION=> 'SNAPPY', TTL => '15768000'},会失败。

2. 正确的应该是:

所以在hadoop安装目录下,执行 hadoop checknative -a  ,正确的结果应该如下:

Native library checking: 
hadoop:  true /data/hadoop/app/hadoop-2.8.2/lib/libhadoop.so 
zlib:    true /lib64/libz.so.1
snappy:  true /usr/lib64/libsnappy.so.1
lz4:     true revision:10301
bzip2:   true /lib64/libbz2.so.1
openssl: true /usr/lib64/libcrypto.so

也就是各种都是true

 

3. 解决办法:

步骤一: cp /hadoop的目录/hadoop-2.8.2/lib/native/* /hadoop的目录/hadoop-2.8.2/lib/

步骤二:安装glibc2.14

(可以配置 提示更多的报错内容,在 cd  /etc    ,然后执行 vim profile

增加一句hadoop的配置:export HADOOP_ROOT_LOGGER=DEBUG,console  ,这样执行语句的时候,提示信息会更全。

然后再次执行 hadoop checknative -a,看到提示信息是 说没有安装2.14版本。)

(1)下载glibc-2.14.1-6.x86_64.rpm的七个文件,按照

https://blog.csdn.net/lxlmycsdnfree/article/details/80695593   这个帖子提到的步骤,执行,就没问题了。

(2)还有一种方法,有坑,得注意! 就是下载压缩包,直接安装,如果reboot,会出现Linux内核挂掉,再也连不上linux服务器,只能重装电脑。

以下这种办法,就是 会导致 Linux 内核崩掉的方法,之所以写这么详细,是因为之前按照以下步骤操作过,reboot后机器就挂了:

到http://ftp.gnu.org/gnu/glibc/下载glibc-2.14.tar.gz

上传到linux的 /opt 目录下,然后执行

tar glibc-2.14.tar.gz

cd /opt/glibc-2.14

mkdir build

cd ./build

../configure --prefix=/usr/local/glibc-2.14

make -j4

make install

ln -sf /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6

(如果出现ln: creating symbolic link `/lib64/libc.so.6': File exists表示没有链接成功,加入f强制执行)

通过ls -l /lib64/libc.so.6查询当前链接版本

 

你可能感兴趣的:(Linux)