MongoDB副本集(一主一备+仲裁)环境部署运维操作记录散尽浮华

在一个MongoDB复制集集群中,各个服务器有以下几种状态:

如上介绍所知,mongodb中的复制可以在多台服务器中同步数据。复制提供了冗余和增加了数据的高可用性,防止单个节点易丢失数据的可能性,也可以用来进行读写分离提高客户端操作性能。复制集中各节点的mongodb实例有相同的数据集副本。主节点可以接收客户端所有写操作记录到日志中,从库复制主库的操作日志记录应用到其数据库中。一个客户端只能有一个主节点,如果主节点不可用(10秒内无法连接),复制集中将选一个成员节点作为主节点。

MongoDB主备+仲裁的基本结构如下:

主节点(Primary)在复制集中,主节点是唯一能够接收写请求的节点。MongoDB在主节点进行写操作,并将这些操作记录到主节点的oplog中。而从节点将会从oplog复制到其本机,并将这些操作应用到自己的数据集上。(复制集最多只能拥有一个主节点)从节点(Secondaries)从节点通过应用主节点传来的数据变动操作来保持其数据集与主节点一致。从节点也可以通过增加额外参数配置来对应特殊需求。例如,从节点可以是non-voting或是priority0.仲裁节点(ARBITER)仲裁节点即投票节点,其本身并不包含数据集,且也无法晋升为主节点。但是,旦当前的主节点不可用时,投票节点就会参与到新的主节点选举的投票中。仲裁节点使用最小的资源并且不要求硬件设备。投票节点的存在使得复制集可以以偶数个节点存在,而无需为复制集再新增节点不要将投票节点运行在复制集的主节点或从节点机器上。投票节点与其他复制集节点的交流仅有:选举过程中的投票,心跳检测和配置数据。这些交互都是不加密的。

心跳检测复制集成员每两秒向复制集中其他成员进行心跳检测。如果某个节点在10秒内没有返回,那么它将被标记为不可用。

MongoDB副本集是有故障恢复功能的主从集群,由一个primary节点和一个或多个secondary节点组成:节点同步过程:Primary节点写入数据,Secondary通过读取Primary的oplog得到复制信息,开始复制数据并且将复制信息写入到自己的oplog。如果某个操作失败,则备份节点停止从当前数据源复制数据。如果某个备份节点由于某些原因挂掉了,当重新启动后,就会自动从oplog的最后一个操作开始同步,同步完成后,将信息写入自己的oplog,由于复制操作是先复制数据,复制完成后再写入oplog,有可能相同的操作会同步两份,不过MongoDB在设计之初就考虑到这个问题,将oplog的同一个操作执行多次,与执行一次的效果是一样的。

副本集的同步和主从同步一样,都是异步同步的过程,不同的是副本集有个自动故障转移的功能。其原理是:slave端从primary端获取日志,然后在自己身上完全顺序的执行日志所记录的各种操作(该日志是不记录查询操作的),这个日志就是local数据库中的oplog.rs表,默认在64位机器上这个表是比较大的,占磁盘大小的5%,oplog.rs的大小可以在启动参数中设定:–oplogSize1000,单位是M。

注意:在副本集的环境中,要是所有的Secondary都宕机了,只剩下Primary。最后Primary会变成Secondary,不能提供服务。

THE END
1.用网名和简介来简单介绍一下我自己吧我,简书网名,孤莹梦影,简单但是总体的意思就是来说,我希望我能在孤单中坚强,梦虽然是影,但也带了美好,带着惆怅。 现在请大家侧耳来听我细细的介绍一下: 孤 显而易见,我想在孤单中坚强,虽然会在迷茫中徘徊,在恍惚中游荡,但我也会尽自己的微博之力坚强起来,支撑起我自己的内心和世界。使自己的生活不再孤单https://www.jianshu.com/p/fdfa38db1ccb
2.Web之npm在官网发布自己的包(npm下载安装自己发布的包)流程简单整理本节介绍,Web前端开发中使通过npm(nodepackage manager),开发者们编辑共享自己的模块,其方便的管理方式,便捷的操作命令,使得该得到广泛使用,这里简单一下在 npm 官网发布一个自己的包,并且下载自己发布的包的整理流程的简单整理,以供大家参考,如果有不足之处,欢迎指出,或者你有更好的方法,欢迎留言。 https://blog.csdn.net/u014361280/article/details/125654404
3.ice招行谷子地:专注银行业研究15年,2010年投资招行@ice他认为做投资一定要专注,专注,再专注。专注于自己的能力圈,持之以恒地对行业进行深度分析和关注。时间会让你看得见回报。 问:简单介绍下您自己 @ice_招行谷子地:我是70后,研究生毕业后就职于一家世界500强的IT外企,从业16年,目前任职于一家合资企业,担任IT经理和架构师。2005年开始投资于股市,从入市开始就专注https://xueqiu.com/1876906471/129010950
4.大家好,简单的介绍一下我自己:素质教育的漏网之鱼“大家好,简单的介绍一下我自己 : 素质教育的漏网之鱼,晚睡协会常任理事,赖床锦标赛冠军得主,回笼觉觉主,酒后表演艺术家,国家一级嗜睡症演员,互联网冲浪资深选手,国家一级退堂鼓演奏家https://ds.163.com/feed/5e0db59966636f1f74c31c45/
5.《我的爱对你说》朱一龙——樊伟的剧评(我的爱对你说)剧评简单介绍一下剧情:樊伟,鑫丰钢铁董事长谷一萍的独生子,刚从英国归来,便被母亲安排与容大药业董事长尚达仁的掌上明珠尚九九见面,意图促成两大家族企业联姻。而这场联姻并非简单的商业联姻,还夹带着上一辈的恩怨:樊母谷一萍认为,当年鑫丰钢铁出现危机,尚达仁对樊父和鑫丰钢铁见死不救,间接导致樊父心脏病突发,离开https://movie.douban.com/review/10173901
6.简单介绍一下自己如何自我介绍简单介绍一下自己 如何自我介绍黎明前的暖怀 精选回答 1、向大家问好。轮到介绍自己时,先跟老师同学问好。这样能够拉近彼此之间的距离,也会让人觉得你挺有礼貌的。 2、介绍自己的名字。每个人的名字都有不同的含义,也有其特别的地方,所以在介绍自己名字的时候,说一说名字的寓意,这样更容易让同学和老师记住哦。https://edu.iask.sina.com.cn/jy/h4micOqzwl.html