CentOS 5.7安装mongoDB之失败经历

系统版本CentOS release 5.7 (Final)
另外一台服务器是6.5在安装mongodb3.3.12版本时没有报任何错误信息。

启动mongodb提示错误如下

  /usr/local/mongodb/mongodb3.3.12/bin/mongod: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory

分析原因
系统不知道libssl.so.10放在哪个目录下,全局find了一下libssl.so.10文件没有找到。

在以下地址找到ssl101的安装信息
https://centos.pkgs.org/5/atomic-x86_64/openssl101e-1.0.1e-9.el5.art.i386.rpm.html
执行命令:# yum install openssl101e

第二次运行mongoDB提示信息如下

/usr/local/mongodb/mongodb3.3.12/bin/mongod: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by /usr/local/mongodb/mongodb3.3.12/bin/mongod)
/usr/local/mongodb/mongodb3.3.12/bin/mongod: /lib64/libc.so.6: version `GLIBC_2.6' not found (required by /usr/local/mongodb/mongodb3.3.12/bin/mongod)
/usr/local/mongodb/mongodb3.3.12/bin/mongod: /lib64/libc.so.6: version `GLIBC_2.8' not found (required by /usr/local/mongodb/mongodb3.3.12/bin/mongod)
/usr/local/mongodb/mongodb3.3.12/bin/mongod: /lib64/libc.so.6: version `GLIBC_2.9' not found (required by /usr/local/mongodb/mongodb3.3.12/bin/mongod)
/usr/local/mongodb/mongodb3.3.12/bin/mongod: /lib64/libc.so.6: version `GLIBC_2.10' not found (required by /usr/local/mongodb/mongodb3.3.12/bin/mongod)

分析原因
出现了/lib64/libc.so.6: version `GLIBC_2.7’ not found问题,glibc版本过低。
先查看一下当前系统glibc的情况:

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

没有找到支持2.6以上的,需要重新安装glibc
升级版本:glibc-2.7.tar.gz

[root@dev201 ~]# cd /usr/src/
[root@dev201 src]# tar -zxf glibc-2.7.tar.gz 
[root@dev201 src]# cd glibc-2.7
[root@dev201 glibc-2.7]# mkdir -v ../glibc-build
mkdir: created directory `../glibc-build'
[root@dev201 glibc-2.7]# cd ../glibc-build/
[root@dev201 glibc-build]# /usr/src/glibc-2.7/configure --prefix=/usr/
[root@dev201 glibc-build]# make   
[root@dev201 glibc-build]# make install

在次查看glibc情况

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_PRIVATE

第三次运行mongoDB提示信息如下

/usr/local/mongodb/mongodb3.3.12/bin/mongod: /lib64/libc.so.6: version `GLIBC_2.8' not found (required by /usr/local/mongodb/mongodb3.3.12/bin/mongod)
/usr/local/mongodb/mongodb3.3.12/bin/mongod: /lib64/libc.so.6: version `GLIBC_2.9' not found (required by /usr/local/mongodb/mongodb3.3.12/bin/mongod)
/usr/local/mongodb/mongodb3.3.12/bin/mongod: /lib64/libc.so.6: version `GLIBC_2.10' not found (required by /usr/local/mongodb/mongodb3.3.12/bin/mongod)

看来安装的版本还是不够高了,
网站说在5.7上直接将glibc升级到2.10存在风险,系统会崩溃,所以放弃了升级处理。

试着换mongodb低版本试一下,用mongodb3.1.4启动情况如下:

第四次运行mongoDB提示信息如下

/usr/local/mongodb/mongodb3.1.4/bin/mongod: /usr//lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/local/mongodb/mongodb3.1.4/bin/mongod)
/usr/local/mongodb/mongodb3.1.4/bin/mongod: /usr//lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/local/mongodb/mongodb3.1.4/bin/mongod)
/usr/local/mongodb/mongodb3.1.4/bin/mongod: /usr//lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /usr/local/mongodb/mongodb3.1.4/bin/mongod)
/usr/local/mongodb/mongodb3.1.4/bin/mongod: /usr//lib64/libstdc++.so.6: version `CXXABI_1.3.3' not found (required by /usr/local/mongodb/mongodb3.1.4/bin/mongod)
/usr/local/mongodb/mongodb3.1.4/bin/mongod: /usr//lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/local/mongodb/mongodb3.1.4/bin/mongod)
/usr/local/mongodb/mongodb3.1.4/bin/mongod: /usr//lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/local/mongodb/mongodb3.1.4/bin/mongod)

分析原因

gcc编译器版本过低

[root@jstukw4cgk9nve mongodb3.1.4]# strings /usr/lib/libstdc++.so.6 | grep GLIBCXX 
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_FORCE_NEW

暂时放弃在该台服务器上安装配置mongoDB,编译器版本不够高,主要担心升级以后对系统以前程序和环境有所影响。

解决办法

http://ftp.gnu.org/gnu/glibc/
下载相关并安装GLIBC_2.8、GLIBC_2.9、GLIBC_2.10.1进行安装配置,目前可以正常启动Mongodb。
安装方法见本页glibc-2.7.tar.gz安装方案即可。

主要原因是系统版本过底,导致C运行库的版本过底导致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值