mongoDB add disks and upgrade 1.8.1 to 2.0.2

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介:
一个扩容和版本升级的案例, 如下 : 
mongoDB 1.8.1的replicaSet 需要对磁盘容量进行扩容,版本升级到2.0.2 . 
从1.8升级到2.0需要注意的事项如下 : 
mongoDB add disks and upgrade 1.8.1 to 2.0.2 - 德哥@Digoal - The Heart,The World.
 
1. 由于1.8版本使用的索引版本是v:0的, 2.0默认使用版本v:1的版本. 所以在1.8升级到2.0后新建的索引将会是v:1的。回退到1.8需要重建这些索引。
2. 对于使用mongoimport和mongoexport的脚本可能受到格式的影响
3. 2.0默认打开journaling选项,所以在版本升级的时候需要注意,可能对升级的时间有延长。
4. 1.8和2.0之间可以做相互的数据复制,所以在replicaSet环境升级还是比较方便的。
5. 升级replica SET建议先升级secondary节点,最后升级primary节点,建议使用stepDown模式.

stepDown介绍 : 

replSetStepDown

 db.adminCommand( { replSetStepDown : <seconds> } )

Manually tell a member to step down as primary. Node will become eligible to be primary again after the specified number of seconds. (Presumably, another node will take over by then if it were eligible.)

If the primary cannot see anyone who has synced to within 10 seconds of its latest op, the primary will reject the step down request. You can force the request by passing a force : true option.

For example:

> db.adminCommand({replSetStepDown : 1}) {         "closest" : 1302040824,         "difference" : 25,         "errmsg" : "no secondaries within 10 seconds of my optime",         "ok" : 0 } > db.adminCommand({replSetStepDown : 1, force : true}) // works 

v1.7.2+: replSetStepDown closes all connections, meaning there will be no database response to this command.

v1.7.3+: the seconds parameter above can be specified. In older versions, the step down was always for one minute only.

v1.9.0+: Added ability for primary to reject step down and added force option.



具体的操作过程 : 
1. 升级版本
关闭其中一台secondary, 程序文件升级到2.0.2. 开启.
操作另一台secondary.
stepDown关闭primary. 升级到2.0.2.

2. 添加磁盘.
原来的磁盘不是lvm管理的,所以在新增硬盘足够大,并且可以在OPLOG未 ROTATE之前可以完成的情况下。把新加的硬盘作为lvm管理的设备来扩,然后再把老的硬盘加入到VG,扩LV,再扩文件系统。
目录
相关文章
Due to limitations of the com.mongodb.BasicDocument, you can‘t add a second ‘_id‘ criteria. Query al
Due to limitations of the com.mongodb.BasicDocument, you can‘t add a second ‘_id‘ criteria. Query al
315 2
|
NoSQL MongoDB
解决 :MongoDB couldn‘t add user: not authorized on ‘your db‘ to execute command
解决 :MongoDB couldn‘t add user: not authorized on ‘your db‘ to execute command
767 0
|
NoSQL 关系型数据库 Java
【已解决】Due to limitations of the com.mongodb.BasicDocument, you can‘t add a second ‘$and‘ expression
【已解决】Due to limitations of the com.mongodb.BasicDocument, you can‘t add a second ‘$and‘ expression
856 0
|
NoSQL 数据库 Windows
mongoDB windows reinstall add auth
Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行。现在,我们得一步步开启使用用户和认证。   第一步,我们得定位到mongodb的安装目录。我本机的是C:\mongodb。
751 0
|
3月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
3月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
277 79
|
3月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
176 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
2月前
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。