前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >007.MongoDB特殊成员

007.MongoDB特殊成员

作者头像
木二
发布2019-07-01 14:15:04
4340
发布2019-07-01 14:15:04
举报
文章被收录于专栏:木二天空木二天空木二天空

一 MongoDB成员

1.1 常见特殊member

Secondary存在一些特殊的成员类型:

  1 Priority 0		#不能升为主,可以用于多数据中心场景
013
013
  1 Hidden			#对客户端来说是不可见的,一般用作备份或统计报告用
014
014
  1 Delayed			#数据比副集晚,一般用作 rolling backup 或历史快照
015
015

二 添加备份节点

2.1 前期准备

本实验基于《006.MongoDB复制(副本集)》。

  1 [root@mongodb01 ~]# mongo --host 172.24.8.71 -u clusteradmin -p clusteradmin
  2 my_rep:PRIMARY> rs.remove("172.24.8.74:27017")
  3 my_rep:PRIMARY> rs.remove("172.24.8.73:27017")

执行以上操作,使副本集达到以下规划:

主机名

IP

类型

备注

mongodb01

172.24.8.71

primary

主节点

mongodb02

172.24.8.72

secondary

备节点

arbiter

172.24.8.75

arbiter

冲裁节点

副本集特殊成员规划:

主机名

IP

类型

备注

mongodb01

172.24.8.71

primary

主节点

mongodb02

172.24.8.72

secondary

备节点

arbiter

172.24.8.75

arbiter

冲裁节点

mongodb03

172.24.8.73

hidden

备份节点

2.3 添加备份节点

  1 my_rep:PRIMARY> rs.add({"host":"172.24.8.73:27017","priority":0,"hidden":true})
016
016
  1 my_rep:PRIMARY> rs.conf()
017
017

2.4 测试备份节点

  1 [root@mongodb01 ~]# mongo --host 172.24.8.71 -u admin -p admin
  2 my_rep:PRIMARY> use mydb
  3 my_rep:PRIMARY> show tables
  4 age01
  5 my_rep:PRIMARY> lisi_age=({name: 'lisi', age: '19', tel: '123456782', love: ['apple','orange']})
  6 my_rep:PRIMARY> db.age01.insert(lisi_age)
  7 [root@mongodb01 ~]# mongo --host 172.24.8.73 -u admin -p admin		#登录备份节点
  8 my_rep:SECONDARY> rs.slaveOk()
  9 my_rep:SECONDARY> show tables
 10 age01
 11 my_rep:SECONDARY> db.age01.find().pretty()
018
018

三 添加延迟节点

3.1 前期准备

本实验基于《006.MongoDB复制(副本集)》。

3.2 确认状态

  1 [root@mongodb01 ~]# mongo --host 172.24.8.71 -u clusteradmin -p clusteradmin
  2 my_rep:PRIMARY> rs.remove("172.24.8.73:27017")

执行以上操作,使副本集达到以下规划:

主机名

IP

类型

备注

mongodb01

172.24.8.71

primary

主节点

mongodb02

172.24.8.72

secondary

备节点

arbiter

172.24.8.75

arbiter

冲裁节点

副本集特殊成员规划:

主机名

IP

类型

备注

mongodb01

172.24.8.71

primary

主节点

mongodb02

172.24.8.72

secondary

备节点

arbiter

172.24.8.75

arbiter

冲裁节点

mongodb03

172.24.8.73

hidden

备份节点

mongodb04

172.24.8.74

Delayed

延时节点

3.3 添加延时节点

  1 my_rep:PRIMARY> rs.add({"host":"172.24.8.74:27017","priority":0,"hidden":true,"slaveDelay":60})
019
019
  1 my_rep:PRIMARY> rs.conf()
020
020

3.4 测试备份节点

  1 [root@mongodb01 ~]# mongo --host 172.24.8.71 -u admin -p admin
  2 my_rep:PRIMARY> use mydb
  3 my_rep:PRIMARY> show tables
  4 age01
  5 my_rep:PRIMARY> db.age01.insertMany([{name: 'mazi', age: '15', tel: '123456784', love: ['pear','apple']},{name: 'xiaoming', age: '8', tel: '123456785', love: ['apple','grape']}])
  6 [root@mongodb01 ~]# mongo --host 172.24.8.74 -u admin -p admin		#登录备份节点
  7 my_rep:SECONDARY> rs.slaveOk()
  8 my_rep:SECONDARY> show tables
  9 age01
 10 my_rep:SECONDARY> db.age01.find().pretty()
021
021
  1 my_rep:SECONDARY> db.age01.find().pretty()			#等待60秒再次查看
022
022

四 其他特殊节点

4.1 更多成员类型

Secondary-Only:不能成为primary节点,只能作为secondary副本节点,防止一些性能不高的节点成为主节点。

Non-Voting:没有选举权的secondary节点,纯粹的备份数据节点。

成为primary

对客户端可见

参与投票

延迟同步

复制数据

Default

x

Secondary-Only

x

x

Hidden

x

x

x

Delayed

x

Arbiters

x

x

x

x

Non-Voting

x

x

参考文档:https://www.cnblogs.com/zhoujinyi/p/3554010.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 MongoDB成员
    • 1.1 常见特殊member
    • 二 添加备份节点
      • 2.1 前期准备
        • 2.3 添加备份节点
          • 2.4 测试备份节点
          • 三 添加延迟节点
            • 3.1 前期准备
              • 3.2 确认状态
                • 3.3 添加延时节点
                  • 3.4 测试备份节点
                  • 四 其他特殊节点
                    • 4.1 更多成员类型
                    相关产品与服务
                    云数据库 MongoDB
                    腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档