MongoDB故障处理

MongoDB故障处理

MongoDB副本集的主节点如果发生宕机故障,集群会自动选举出新的主节点。这个过程对于应用是透明的,也不需要人工介入。

如果优先级是一样的,宕机的节点恢复之后,重新加入集群,他会自动从新的主节点同步数据,并把自己设置为副本节点。(退位让贤了)

如果设置了主节点的优先级,则宕机的主节点恢复之后,他还会成为集群的主节点。

实验假设192.168.1.3为主节点,优先级为10,其余节点的优先级为1。集合中已经存在2条数据。

MongoDB故障处理

数据如下:

MongoDB故障处理

然后kill掉192.168.1.3的MongoDB进程,模拟主节点故障。

MongoDB故障处理

MongoDB集群自动触发选举,选出了192.168.1.2作为新的主节点。

MongoDB故障处理

在192.168.1.2新增一个数据

MongoDB故障处理

这时候恢复192.168.1.3节点,他会自动从192.168.1.2同步最新的数据,然后把自己设置为主节点。

MongoDB故障处理

在192.168.1.3查看数据,发现数据没有丢失。

MongoDB故障处理

如果发生了人为的失误,比如忘记使用筛选条件而删除了整个集合的数据。如果有延迟节点,则参考延迟节点恢复数据。

如果没有延迟节点,则只能从最近的备份恢复。

如果没有备份,就只能呵呵了。

MongoDB 的详细介绍:请点这里
MongoDB 的下载地址:请点这里

相关推荐