007.MongoDB特殊成员
2019-06-10 11:27
1306 查看
一 MongoDB成员
1.1 常见特殊member
Secondary存在一些特殊的成员类型:1 Priority 0 #不能升为主,可以用于多数据中心场景
1 Hidden #对客户端来说是不可见的,一般用作备份或统计报告用
1 Delayed #数据比副集晚,一般用作 rolling backup 或历史快照
二 添加备份节点
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})
1 my_rep:PRIMARY> rs.conf()
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()
三 添加延迟节点
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})
1 my_rep:PRIMARY> rs.conf()
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()
1 my_rep:SECONDARY> db.age01.find().pretty() #等待60秒再次查看
四 其他特殊节点
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
相关文章推荐
- 【C++】类的特殊成员变量+初始化列表
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- Python面向对象特殊成员
- 特殊数据类型成员变量的初始化(转)
- mongoDB——wiredTiger副本集模型的成员角色
- 特殊数据类型成员变量的初始化
- c++高级---C++ 类中特殊的成员变量(常变量、引用、静态)
- 第十七章 特殊成员_使用typedef简化函数指针的声明
- 第十七章 特殊成员_类的函数指针
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- Python类的特殊成员5
- Mongodb 笔记04 特殊索引和集合、聚合、应用程序设计
- C++特殊成员变量(静态、常量、引用)的初始化方法
- 故障案例--mongodb副本集成员节点和投票节点的限制
- 第一篇:.net特殊成员:string
- 静态方法是一种特殊的成员方法,它不属于类的某一个具体的实例。
- Node.js Mongodb 密码特殊字符 @的解决方法
- ###类的特殊成员方法
- mongodb - Replication Set成员维护