加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Web架构之路:MongoDB集群及高可用实践

发布时间:2019-10-12 11:07:00 所属栏目:建站 来源:热爱技术君
导读:MongoDB集群有副本集及主从复制两种模式,不过主从模式在MongoDB 3.6已经彻底废弃,今天主要探讨副本集的搭建和使用,以及分片。 副本集介绍 副本集(Replica Set)即副本的集合,在MongoDB中通过先定义一个副本集合,然后将多个节点(副本)加入到这个集合中

我们可以通过关闭主节点,测试是否会选举新的主节点:

  1. gitlib@devops:~$ ps -aux | grep mongod 
  2. root 14293 0.6 2.5 1888584 99504 ? Sl 08:06 4:39 bin/mongod -f mongod.conf 
  3. root 14652 0.6 2.6 1923896 102200 ? Sl 08:08 4:59 bin/mongod -f mongod2.conf 
  4. root 14723 0.6 2.5 1886124 98984 ? Sl 08:08 4:47 bin/mongod -f mongod3.conf 
  5. gitlib@devops:~$ sudo kill -9 14293 
  6. [sudo] password for zhoufei:  
  7. zhoufei@devops:~$ ps -aux | grep mongod 
  8. root 14652 0.6 2.6 1932092 102200 ? Sl 08:08 4:59 bin/mongod -f mongod2.conf 
  9. root 14723 0.6 2.5 1894320 99064 ? Sl 08:08 4:47 bin/mongod -f mongod3.conf 

我们直接kill掉主节点,进入节点1,看一下当前节点是否是主节点:

  1. gitlib@devops:~$ mongo 127.0.0.1:27018 
  2. rs0:SECONDARY> rs.isMaster() 
  3.     "hosts" : [ 
  4.         "127.0.0.1:27017", 
  5.         "127.0.0.1:27018", 
  6.         "127.0.0.1:27019" 
  7.     ], 
  8.     "setName" : "rs0", 
  9.     "setVersion" : 3, 
  10.     "ismaster" : false, 
  11.     "secondary" : true, 
  12.     "primary" : "127.0.0.1:27019", 
  13.     "me" : "127.0.0.1:27018", 
  14.     ... 

可以看到当主节点(127.0.0.1:27017)挂掉之后,主节点自动切换到从节点2(127.0.0.1:27019)上。

副本集选举机制

副本集中的从节点在主节点挂掉后通过心跳机制检测到后,就会在集群内发起主节点的选举机制,自动选举出一位新的主服务器。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读