作家
登录

干货满满 | MongoDB集群实战攻略

作者: 来源: 2018-01-29 14:59:05 阅读 我要评论

3. 在10.43.159.56启动MongoDB主节点法度榜样。留意后面的┞封个 “ –master ”参数,标示主节点:

  1. mongod –dbpath /data/MongoDBtest/master–master 

输出日记如下,成功:

  1. [initandlisten] MongoDB starting :pid=18285 port=27017 dbpath=/data/MongoDBtest/master master=1 

4. 在10.43.159.58启动MongoDB大年夜节点法度榜样。关键设备:指定主节点ip地址和端口 –source 10.43.159.56:27017 和标示大年夜节点 –slave参数:

  1. mongod –dbpath /data/MongoDBtest/slave–slave –source 10.43.159.56:27017 

输出日记如下,成功:

日记显示大年夜节点大年夜主节点同步复制数据 :

下面我们来看看这个集群能做什么?先登录到大年夜节点shell上,履行插入数据:

  1. [replslave] repl: from host: 10.43.159.56:27017 

如许,主大年夜构造的MongoDB集群就搭建好了,是不是很简单?

  1. mongo 127.0.0.1:27017   
  2.  
  3. > db.testdb.insert({"test3":"testval3"});   
  4.  
  5. not master    

可以看到 MongoDB的大年夜节点是只能读,不克不及履行写操作的。

那么如不雅主办事器挂掉落,大年夜办事器可以接替工作吗?

可以试一下,强迫关掉落主节点上的MongoDB过程,登录在大年夜节点上,再次履行插入数据:

  1. > db.testdb.insert({"test3":"testval3"});   
  2.  
  3. not master    

看来大年夜节抱病没有主动接替主节点的工作,那就只有人工处理了,停止大年夜节点,再以master的方法启动大年夜节点,因为大年夜节点上数据跟主节点一样,此时大年夜节点是可以替代主节点工作的,这属于人工切换。

此外,我们可以搭建多个大年夜节点,实现数据库的读写分别,比如主节点负责写,多个大年夜节点负责读,对于移动APP,绝大年夜部分操作都是读操作,可以实现负荷分担。

那么,搭建了这套主大年夜构造的集群是不是就能敷衍商用情况呢?我们发明照样有几个问题亟待解决的:

  • 主节点挂了可否主动切换连接?今朝须要手工切换。
  • 主节点的写压力过大年夜若何解决?
  • 大年夜节点每个膳绫擎的数据都是对数据库全量拷贝,大年夜节灯揭捉?力会不会过大年夜?
  • 就算对大年夜节点路由实施路由拜访策略可否做到主动扩大?

解决这几个问题就要靠下面介绍的副本集模式了。

副本模式

由图可以看到客户端连接到全部副本集,不关怀具体哪一台机械是否挂掉落。主办事器负责全部副本集的读写,副本集按期同步数捷报份,一旦主节点挂掉落,副本节点就会选举一个新的主办事器,这一切对于应用办事器不须要关怀。我们看一下主办事器挂掉落后的架构:

  1. [initandlisten] MongoDB starting : pid=17888port=27017 dbpath=/data/MongoDBtest/slave slave=1  

副本集中的副本节点经由过程心跳机制检测到主节点挂掉落后,就会在集群内提议主节点的选举机制,主动选举一位新的主办事器。So Cool!让我们赶紧来安排一下!

官方推荐的副本集机械数量为至少3个(官方说副本集数量最好是奇数),那我们也按照这个数量设备测试。

1. 预备三台机械 10.43.159.56、 10.43.159.58、10.43.159.60。10.43.159.56算作副本集主节点,10.43.159.58、10.43.159.60作为副本集副本节点。

2. 分别在每台机械上建立MongoDB副本集测试文件夹

4. 分别在每台机械上启动MongoDB

给你的副本集取个名字吧,比如这里叫test:

  1. /data/MongoDBtest/MongoDB-linux-x86_64-2.4.8/bin/mongod  --dbpath /data/MongoDBtest/replset/data   --replSet test 

大年夜日记可以看出副本集还没有初始化。

5. 初始化副本集

在三台机械上随便率性一台机械上岸MongoDB:


  推荐阅读

  未来十年当人工智能主导生活,手机会变成什么模样?

大年夜多半科技界人士都认为,再过十年,无处不在的技巧将会触及一天中的每一个时刻,让我们的生活变得更有效力、更相符小我需求。这同时引出一个有趣的问题:在一个万物互联的世界里,当>>>详细阅读


本文标题:干货满满 | MongoDB集群实战攻略

地址:http://www.17bianji.com/lsqh/40477.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)