linux升级glibc 2.14失败,linux下升级glibc-2.14问题

遇到的问题

在centos6.8上,安装完hadoop后,启动dfs时,报错WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...

经过查阅资料后,发现可能有两种原因,一是下载的hadoop是32位版本,libhadoop.so.1.0.0文件时32位的,却运行在64为机器上。可是经过查看后,file lib/native/libhadoop.so.1.0.0,libhadoop.so.1.0.0该文件是64位的,系统也是64位的。显然不是这个原因。

原因二:系统预装的glibc库是2.12版本,而hadoop期望是2.14版本。用ldd命令查看libhadoop.so.1.0.0文件的依赖库,果然发现找不到glibc2.14。

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

ldd --version查看系统预装的glibc库

那么现在解决办法就是升级glibc库到2.14。

安装glibc-2.14

到下载地址下载glibc-2.14版本

将下载的压缩包放置到某个目录中,例如/home/目录 开始执行下列shell命令[root@xxx home]# tar -xzvf glibc-2.14.tar.gz    //解压压缩包[root@xxx home]# cd glibc-2.14    //进入解压后的文件目录[root@xxx glibc-2.14]# mkdir build    //创建build文件夹[root@xxx glibc-2.14]# cd build     //进入build文件夹[root@xxx build]# ../configure --prefix=/opt/glibc-2.14    // 配置glibc并设置当前glibc-2.14安装目录位/opt/glibc-2.14(安装目录可以自己选择),记住这个安装目录,后面操作需要用到[root@xxx build]# make -j4     //开启编译加速  4个进程[root@xxx build]# make install     //开始安装接下来等待安装完成

glibc软链

安装完成后, 建立软链指向glibc-2.14, 执行如下命令:$ rm -rf /lib64/libc.so.6           // 先删除先前的libc.so.6软链$ ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6   //建立新的软连接

注意

删除libc.so.6之后可能导致系统命令不可用的情况, 可使用如下方法创建2.14的链接$ LD_PRELOAD=/opt/glibc-2.14/lib/libc-2.14.so  ln -s /opt/glibc-2.14/lib/libc-2.14.so /lib64/libc.so.6

如果上述更新失败可使用如下命令还原到2.12版本$ LD_PRELOAD=/lib64/libc-2.12.so ln -s /lib64/libc-2.12.so /lib64/libc.so.6

此时再通过命令查看glibc可以看到底部有新安装的GLIBC_2.14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值