MongoDB管理:如何优雅的重启复制集?

  1. 云栖社区>
  2. 阿里云数据库ApsaraDB>
  3. 博客>
  4. 正文

MongoDB管理:如何优雅的重启复制集?

张友东 2016-03-30 16:11:37 浏览4245
展开阅读全文

啊!你还不了解MongoDB复制集?先看这里科普一下


复制集的成员启动后,会选举出一个Primary,Primary需要得到大多数成员的投票。所有的写入操作都必须向Primary发起,通过oplog将写操作同步到Secondary。


在复制集运行的过程中,难免会遇到需要重启节点的场景,比如复制集版本升级、节点维护等,在重启节点的过程中,建议不要直接shutdown Primary,这样可能导致已经写入primary但未同步到secondary的数据丢失,过程类似如下:


  1. shutdown Primary (shutdown会等待Secondary oplog追到10s以内)
  2. Primary退出后,剩余的节点选举出一个新的Primary(复制集只包含1或2节点例外)
  3. Primary重新启动,因为当前复制集已经有了新的Primary,这个Prim

网友评论

登录后评论
0/500
评论
张友东
+ 关注
所属云栖号: 阿里云数据库ApsaraDB