hadoop 2.x安装:不能加载本地库 - 解决libc.so.6 v

1、操作系统版本

试图运行hadoop,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:

[root@localhost ~]# cat /etc/redhat-release 
#CentOS release 6.9 (Final)
17/03/12 08:29:24 DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: /home/grid2/hadoop/hadoop-2.7.2/lib/native/libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /home/grid2/hadoop/hadoop-2.7.2/lib/native/libhadoop.so.1.0.0)
17/03/12 08:29:24 DEBUG util.NativeCodeLoader: java.library.path=/home/grid2/hadoop/hadoop-2.7.2/lib/native
17/03/12 08:29:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

2、当前glibc版本

查看系统glibc支持的版本

[root@localhost ~]# /lib64/libc.so.6 
GNU C Library stable release version 2.12, by Roland McGrath et al.
[grid2@tiny1 hadoop-2.7.2]$ strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

3、安装glibc2.15

我们可以看到最高的版本是GLIBC_2.12,没有GLIBC_2.14。我们在此解决一下。

[root@localhost ~]# wget http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz
[root@localhost ~]# tar zxf glibc-2.15.tar.gz
[root@localhost ~]# ./glibc-2.15/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@localhost ~]# make
[root@localhost ~]# make install

PS:如果进入glibc源码目录再执行./configure会报错

注意,安装GLIBC很有可能失败,因此建议备份虚拟机状态

4、查看安装之后的版本

1. glibc下载
The GNU C Library (glibc) 下载源代码。我下载的版本是2.14,链接地址

[root@localhost ~]# /lib64/libc.so.6 
GNU C Library stable release version 2.15, by Roland McGrath et al.
[root@localhost ~]# strings /lib64/libc.so.6 | grep GLIBC
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_PRIVATE

安装依赖包下载并解压:

 

[root@tiny1 lib]# yum install svn autoconfautomake libtool cmake ncurses-devel openssl-devel gcc*
[root@tiny1 lib]# cd /usr/local/lib
[root@tiny1 lib]# wget -c http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
[root@tiny1 lib]# tar -zxvf glibc-2.14.tar.gz

本文由金沙官网线上发布于操作系统,转载请注明出处:hadoop 2.x安装:不能加载本地库 - 解决libc.so.6 v

您可能还会对下面的文章感兴趣: