007.MongoDB特殊成员
一 MongoDB成员
1.1 常见特殊member
1 Priority 0 #不能升为主,可以用于多数据中心场景

1 Hidden #对客户端来说是不可见的,一般用作备份或统计报告用

1 Delayed #数据比副集晚,一般用作 rolling backup 或历史快照

二 添加备份节点
2.1 前期准备
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 前期准备
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 更多成员类型
|
成为primary
|
对客户端可见
|
参与投票
|
延迟同步
|
复制数据
|
|
|
Default
|
√
|
√
|
√
|
x
|
√
|
|
Secondary-Only
|
x
|
√
|
√
|
x
|
√
|
|
Hidden
|
x
|
x
|
√
|
x
|
√
|
|
Delayed
|
x
|
√
|
√
|
√
|
√
|
|
Arbiters
|
x
|
x
|
√
|
x
|
x
|
|
Non-Voting
|
√
|
√
|
x
|
x
|
√
|
007.MongoDB特殊成员的更多相关文章
- 问题:调用 ASP.Net Core WebAPI的HTTP POST方法时,从 [FromBody] 中读取的 MongoDB GeoJsonObjectModel成员总是null
问题描述: POST/PUT to ASP.Net Core with [FromBody] to a MongoDB GeoJsonObjectModel member is always null ...
- (2)MongoDB副本集自动故障转移原理
前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节. 默认搭建的replica set均在主节点读写,辅助节点冗余部署,形成高可用和备份, 具备自动故障转移的能 ...
- (2)MongoDB副本集自动故障转移全流程原理
前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节. 默认搭建的replica set均在主节点读写,辅助节点冗余部署,形成高可用和备份, 具备自动故障转移的能 ...
- MongoDB 复制集 (一) 成员介绍
一 MongoDB 复制集简介 MongoDB的复制机制主要分为两种: Master-Slave (主从复制) 这个已经不建议使用 ...
- MongoDB复制集成员及状态转换
此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 复制集(Replica Set)是MongoDB核心组件,相比早期版本采用的主从(Master-Slave) ...
- MongoDB复制集成员及架构介绍(一)
MongoDB复制集介绍 MongoDB支持在多个机器中通过异步复制达到提供了冗余,增加了数据的可用性.MongoDB有两种类型的复制,第一种是同于MySQL的主从复制模式(MongoDB已不再推荐此 ...
- C++笔记007:易犯错误模型——类中为什么需要成员函数
先看源码,在VS2010环境下无法编译通过,在VS2013环境下可以编译通过,并且可以运行,只是运行结果并不是我们期待的结果. 最初通过MyCircle类定义对象c1时,为对象分配内存空间,r没有初始 ...
- mongodb - Replication Set成员维护
1.添加复制集成员 ybb:PRIMARY> rs.add("cc.example.com:27020") { "ok" : 1 } ybb:PRIMAR ...
- MongoDB副本集的搭建
副本集是mongodb提供的一种高可用解决方案.相对于原来的主从复制,副本集能自动感知primary节点的下线,并提升其中一个Secondary作为Primary. 整个过程对业务透明,同时也大大降低 ...
随机推荐
- Beeline里面执行hive脚本 函数nvl2()与replace()报错
Beeline里面执行hive脚本函数nvl2()与replace()报错 写脚本的时候是在impala里面执行的,都正常,但是转换为调度的时候是在beeline里面执行的 就会有问题了. 详情如下: ...
- weui实现滚动加载的效果
weui是微信公司提供的一个UI框架,在H5开发中一些组件可以直接使用.weui文档地址:http://www.jqweui.cn/components 使用weui,需要引入weui.css和jqu ...
- HALCON数据类型和C#对应数据类型的对比
摘要:HALCON数据类型:Iconic Variables(图形变量).Control Variables(控制变量).在C#中,图形变量用HObject声明,控制变量用HTuple声明.(halc ...
- JavaScript 日期格式
有四种 JavaScript 日期输入格式: 类型 实例 ISO 日期 "2018-02-19" (国际标准) 短日期 "02/19/2018" 或者 &quo ...
- OSG绘制空间凹多边形并计算其面积
目录 1. 思路 1) 多边形分格化 2) 几何图元遍历 2. 实现 3. 参考 1. 思路 这个问题其实涉及到OSG中的两个问题:多边形分格化和几何图元遍历. 1) 多边形分格化 在OpenGL/O ...
- Xcode真机运行报错iPhone has denied the launch request
1.打开钥匙串 ->Apple Worldwide Developer Relations Certification Authority ->双击 并点击信任->选择使用系统默认2 ...
- iOS-关于自定义分段选择器的一些小事(Segmented)
系统自带的分段选择就是 UISegmentedControl ,也有一些大佬自定义的 Segmented ,比如Git上的 HMSegmentedControl ,我以前最初的项目中,也有用到过,如果 ...
- Mac录制或保存视频后如何放大?
想要在录制和拍摄视频后在喜欢的场景(例如Mark)中放大视频吗?本文将向您展示如何放大视频并通过裁剪视频和“平移和缩放”效果来制作Ken Burns效果.Filmora9是一款功能强大的视频编辑器,具 ...
- android 启动流程 相关 杂项记录
Android原生流程 Init进程 主要流程及分支梳理 ueventd_main()watchdogd_main()主要流程a) 公共部分 增加PATH 环境变量初始化内核日志,打开/dev/kms ...
- java之对象类型转换
基本数据类型之间的转换: 自动类型转换:小的数据类型可以自动转换成大的数据类型: 强制类型转换:可以把大的数据类型转换成小的数据类型:float = (float)32.0; public class ...