本次升级针对mongodb的replica set 模式。
原系统版本:2.6.4(目录/data/mongo2),升级后的版本:3.2.3(目录/data/mongo3),系统环境(centos6)
升级目的:集合锁改为文档锁,大大提高并发能力
升级顺序:从节点-主节点-仲裁节点
(以下是从节点升级方式,其他节点相同。注意:如果ip和host不是默认的127.0.0.0.1和27017,每次命令必须指定host和port)
1、下载最新版mongodb,并解压,重命名为mongo3,并且在mongo3文件夹中新建bak,logs,db三个文件夹
2、先关闭从节点(注意是15)
kill -15 pid(从节点进程号)
3、进入/data/mongo3/bin,启动新版mongodb(dbpath后面为原先老版本的数据文件存放地址,port是你配置集群时候的端口,host为配置集群时的ip)
./mongod --dbpath /data/mongo2/db/ --port 27017 --host 127.0.0.1
4、导出数据
./mongodump --out ../bak --port 27017 --host 127.0.0.1
5、关闭mongodb,重新启动,使用WiredTiger引擎
./mongod --storageEngine wiredTiger --dbpath /data/mongo3/db/ --port 27017 --host 127.0.0.1
6、恢复数据
./mongorestore ../bak/ --port 27017 --host 127.0.0.1
7、编辑配置文件(将原先的集群配置文件复制过来)
start.conf配置文件如下
#数据库文件路径
dbpath=/data/mongo3/db
#日志路径
logpath=/data/mongo3/logs/mongo.log
#进程号
pidfilepath=/data/mongo3/mongo.pid
#日志叠加
logappend=true
#复制集名称
replSet=testrs
#绑定ip
bind_ip=127.0.0.1
#端口
port=27017
#后台运行
fork=true
#预分配方式
noprealloc=true
#数据存储模式,3.0以上新特性
storageEngine=wiredTiger
7、关闭mongodb,重新启动,使用配置文件启动
./mongod -f start.conf
8、查看升级后的运行状态
./mongo 127.0.0.1:27017
rs.status()