Mongodb2.8的版本升级(从2.4升级到2.8)
来源:互联网 发布:淘宝上卖什么最赚钱 编辑:程序博客网 时间:2024/06/04 22:48
1 升级要求
升级到2.8版本前必须要先升级到2.6版本。一旦升级到2.8,如果想降级,只能降级到2.6.5,不能降到更低。2.8和2.6版本对用户安全性做了很大改进,如果用到需要单独升级和设置。
升级前请熟知Mongodb的系统部署步骤。具体步骤详见《Mongodb同机多实例部署教程》。
升级到2.6版本的过程和本文档描述的内容一样,只不过官方文档中在描述升级到2.6之前,还需要检查一下数据库状态:
即使用2.6的mongo shell连接2.4的mongos,执行 db.upgradeCheckAllDBs()
2 升级准备
1、 备份configserver的数据,以免出现问题需要恢复
2、 如果已经启用balancer,则需要关闭balancer
3 升级过程
3.1 升级mongos
1、 首先启动mongos,升级元数据,即config数据。
在mongos节点上解压mongdb2.8版本,启动mongos,连接configserver,这里主要附带—upgrade选项:
mongos --configdb <configDBstring> --upgrade
一旦完成升级,mongos会自动退出。升级过程中有信息打印,如果旧系统中数据量十分庞大,升级过程会话费数分钟,可以注意打印信息。一旦升级完成,会输入如下信息:
upgrade of config server to v6 successful
Config database is at version v6
附:执行mongos的详细信息如下
2.4升级到 2.6的信息
2.6 升级到 2.8的信息
2、重新启动mongos
完成升级后,重新启动mongos,看是否连接正常。注意:此时,无需附带—update选项。
3、升级其他mongos
如果还有mongos需要升级为2.8版本,需要逐一启动mongos,查看连接configserver是否正常。注意,这些mongos均不要附带—update选项。
3.2 升级mongod(configserver)
1、 关闭所有mongod,包括configserver
mongod --dbpath /var/mongod/data --shutdown
2、 替换成2.8版本,并启动mongod
官方文档特意给出提示:需要首先升级mongos,才能升级mongod。
WARNING
Do not upgrade mongod instancesuntil after you have upgraded all mongos instances.
另外注意替换2.8版本是仅仅替换可运行程序,千万不要把data目录覆盖掉。
4 更改存储引擎
Mongodb从2.8版本开始支持document level lock,但是需要启动mongod时显式指定存储引擎为wiredTiger。需要注意的是,如果使用wiredtiger,以前的数据并不兼容需要使用2.8版本的mongodump出来,然后启动mongod –storageEngine wiredtiger,再restore。具体操作步骤如下:
4.1 启动2.8版本mongod
确保2.8版本的mongod已经启动,默认使用的是MMAPv1存储引擎。
4.2 使用mongodump进行数据导出
mongodump --out <exportDataDestination>
mongodump也可以添加额外参数,请根据对应系统添加。
4.3 创建数据存储目录
注意该目录可以被用户“mongod”进行访问。
4.4 重启mongod同时带上wiredtiger参数
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath>
4.5 导入数据
mongorestore <exportDataDestination>
5 降级
从2.8降级到2.6和升级过程一样。使用mongos –update后的输出信息如下:
有问题请联系我Professor Zhang:zhangtiey@gmail.com
- Mongodb2.8的版本升级(从2.4升级到2.8)
- 升级Red Hat Linux 9.0的内核,从2.4.20-8升级到2.6.20版本
- Mongodb2.6升级到Mongodb3.0.2笔记
- mongodb2.6 replSet 升级到 mongodb3.0
- mongodb2.6 replSet 升级到 mongodb3.0
- Mongodb2.6升级到Mongodb3.0.2笔记
- mongodb2升级到mongodb3.4思路
- Red Hat Linux 9.0 内核升级从2.4.20-8升级到2.6.18版本
- CentOS python版本的升级 从2.6 到2.7
- 从 Liberty 到 Ocata 的 OpenStack 版本升级之旅
- 从jQuery版本升级注意事项(主要是从1.1升级到1.2之后)
- 升级ambari、HDP版本(ambari 2.1升级到2.4、HDP2.3升级到2.5)
- [JIRA] 从低版本升级到高版本(3.6.2->6.0.8)
- Docker版本升级(从1.2.0升级到1.3.0)
- admob xcode升级问题从早期版本升级到新版本出现的错误
- opensdk 升级版本到8
- mongodb2.6 sharding 升级到 mongodb3.0 sharding
- linux内核从2.4.20-8升级到2.6.0版本步骤
- Simple Paypal Integration with Salesforce (Step by Step)
- Oracle DB 11.2.0.4 中SYS.ALL_CONSTRAINTS的定义 和 SYS.ALL_CONS_COLUMNS的定义
- [LeetCode] Excel Sheet Column Number
- sqlserver检查死锁的sql
- ArcGIS创建发布地图服务
- Mongodb2.8的版本升级(从2.4升级到2.8)
- 协同过滤之ItemCF(c++实现)
- Swift语言IOS8开发战记1.Button与Alert
- zookeeper原理
- js源码收集
- 关于微信突然停止WeixinJSBridge的接口暂时解决办法
- 知道前序遍历和中序遍历编写程序得到二叉树
- java 操作zookeeper 查看状态
- tcp 3秒 timeout