内容简介:mongodb复制集主辅节点升降级的一次实践和注意事项
目的
- 本文是接上篇 mongodb3.0.7扩容存储记录 ,作为补充说明完整的升级过程;
-
解决上文遗留的问题
上次降级回3.0的原因是部分应用的 mongodb 驱动过低,不支持mongodb3.4造成,本次升级前检查了所有应用的驱动并做了升级并通过了兼容性测试。
示例如下
假设有一个复制集有一个primary和三个sencondary组成
primary:10.0.1.32 secondary:10.0.1.31 、10.0.1.33、192.168.1.230
rs.status()显示
rs.status()
{
......
"members" : [
{
"_id" : 0,
"name" : "10.0.1.31:27017",
"health" : 1,
"state" : 1,
"stateStr" : "SECONDARY",
......
},
{
"_id" : 1,
"name" : "10.0.1.32:27017",
"health" : 1,
"state" : 5,
"stateStr" : "PRIMARY",
......
},
{
"_id" : 2,
"name" : "192.168.1.230:27017",
"health" : 1,
"state" : 5,
"stateStr" : "SECONDARY",
......
},
{
"_id" : 3,
"name" : "10.0.1.33:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
......
}
],
"ok" : 1
}
切换目标:31升级为primary,32降级为secondary
primary:10.0.1.31 secondary:10.0.1.32 、10.0.1.33、192.168.1.230
切换步骤(均在mongodb shell上执行)
- 1、primary上设定各个节点优先级
cfg = rs.conf() cfg.members[0].priority = 1 cfg.members[1].priority = 0.5 cfg.members[2].priority = 0.5 cfg.members[3].priority = 0.5 rs.reconfig(cfg)
- 2、33和230节点上执行rs.freeze(120)命令,组织其在120秒内成为primary节点
rs.freeze(120)
- 3、primary上执行降级命令,使其120秒内不再成为primary
rs.stepDown(120)
- 4、观察31节点发现已经成为primary
rs.status()
{
......
"members" : [
{
"_id" : 0,
"name" : "10.0.1.31:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
......
},
{
"_id" : 1,
"name" : "10.0.1.32:27017",
"health" : 1,
"state" : 5,
"stateStr" : "SECONDARY",
......
},
{
"_id" : 2,
"name" : "192.168.1.230:27017",
"health" : 1,
"state" : 5,
"stateStr" : "SECONDARY",
......
},
{
"_id" : 3,
"name" : "10.0.1.33:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
......
}
],
"ok" : 1
}
-
5、升级32节点mongodb到3.4版本
详细过程 mongodb3.0.7扩容存储记录 文中有介绍
-
6、重新将32节点加入复制集
从节点31上复制集配置文件过来,将bindip修改为本机32保存退出,执行systemctl start mongod即可。
注意事项
- 设定优先级要一定要先做,否则当primary发布stepDown之后,各节点投票选举的primary不一定是期望的节点
- 事先准备好各主机执行命令及执行顺序,每个节点开一个 shell 窗口,然后把事先准备好的命令粘贴进来按照顺序执行
- 升降级完成之后,各连接mongodb的应用,需要重启连接新的primary,这个执行命令也要事先准备好
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Seata 1.3.0 重磅发布,支持多主键,自动升降级
- xml创建节点(根节点、子节点)
- Vultr VPS 节点选择方法 | 各节点延迟一览
- 1.19 JQuery2:节点插入与节点选取
- POC分布式节点算法机制下的超级节点计划
- tikv节点下线缩容后改造成tidb节点记录
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
重新定义团队:谷歌如何工作
拉兹洛·博克 / 宋伟 / 中信出版集团 / 2015-12-1 / CNY 56.00
谷歌首席人才官拉斯洛•博克权威力作,谷歌公开认可的谷歌高层作品,首度揭秘谷歌颠覆工业时代模式的人才和团队管理的核心法则,《纽约时报》畅销榜第一名,Business Insider 2015最佳商业书籍,谷歌的创造力就在于此! 编辑推荐! 1、 谷歌人才官首次公开谷歌人才和团队管理的核心秘籍 在谷歌执掌人事多年的拉斯洛•博克是人才和团队管理的顶级专家。他加入谷歌后,谷歌的员工数从六......一起来看看 《重新定义团队:谷歌如何工作》 这本书的介绍吧!