mongodb副本集维护
admin
2023-01-26 09:43:22
0

一、概述

mongodb副本集维护主要工作:

1、查看副本集状态(集群状态、同步延迟、单个库的运行状态mongostate)

2、增删节点、停节点shutdown


mongodb副本集集群同步机制

  1. 数据复制的目的是使数据得到最大的可用性,冗余,避免单点故障。

  2. 副本集中同一时刻只有一台服务器是可以写的,primary主库上写,从库同步数据

  3. 副本集主从复制也是异步同步的过程。slave从primary上获取日志,然后在自己身上完全顺序的执行日志记录的操作(该日志不记录查询操作,只记录更新操作)。被同步的日志就是local库中的oplog.rs表,这个表占空间比较大,磁盘大小5%。启动参数设置oplog.rs的大小:--oplogSize 1000,单位M。生产环境中建议设置大一些,防止无法同步情况发生。


二、查看集群状态

1.rs.status()

mongodb副本集维护

2.db.printSlaveReplicationInfo()

查看主从数据库延迟时间

mongodb副本集维护


3.mongodb监控工具- mongostat

mongodb副本集维护

3.1 如果发现DB突然变慢或者有其他问题,首先mongostat查看状态

mongostat -uxx -pyy -rowcount 12 300
mongostat -uxx -pyy -N 12 300
    ##每300秒输出一次DB状态,共输出12次


3.2 输出参数说明

inserts/s    每秒插入次数

query/s      每秒查询次数

update/s     每秒更新次数

delete/s     每秒删除次数

getmore/s    每秒执行getmore次数,查询时游标(cursor)的getmore操作,用处不大

command/s    每秒命令数,比以上插入、查找、更新、删除的综合还多,还包含了别的命令。比如批量插入,只认为一条命令,意义不大。

flushes/s    每秒执行fsync,将数据写入磁盘的次数。一般都是0,刷如磁盘时是1,可以通过两个1之间的间隔时间,判断多久刷新一次数据到磁盘。flush开销很大,如股票频繁刷新,可能有问题。

mapped/s     所有的被nmap的数据量,单位是MB

vsize        虚拟内存使用量,单位MB

res          物理内存使用量,单位MB。这个和top看到的状态一样,mapped/vsize一般不会有大变动,res会慢慢上升,如果res经常突然下降,查查是不是有别的程序狂吃内存。

faults/s     每秒访问失败数(只有linux有),数据被交换出物理内存,放入swap,如果经常不为0,就是服务器内存太小,造成频繁swap写入,此时要加大内存。

locked db %   被锁的时间百分比,尽量控制在50%以下。这个值过大(经常超过10%,可能出问题)

idx miss %    非常重要的参数,索引不命中所占百分比。正常情况下,查询都应该通过索引,也就是idx miss为0,如果太高的话就是索引太少了

qr|qw        queue lengths for clients waiting (read|write)客户端过来的读写请求的长度。

ar|aw        active clients(read|write)活跃的客户端过来的读写请求。即总共的读写请求。

             PS:当mongdb接收太多命令,而数据库被锁住无法执行完成,就会将命令加入到队列。都为0,表示mongodb毫无压力,高并发时,队列值会升高,表示DB的处理速度不及请求速度。看下是否有开销很大的慢查询。如果查询一切正常,确实负载很大,则考虑加服务器了。

net In/Out   网络带宽压力,一般网络不会成为mongdb瓶颈。

conn         当前连接数

set          副本集集群名称

repl         当前库在集群中的状态。PRI-master,SEC-second,REC-recovering,UNK-unkown

time         时间戳


 

4.web控制台

mongodb自带web控制台,默认和数据服务一起开启。默认端口28017(数据端口27017基础上+1000)

mongodb副本集维护

状态页显示信息:

4.1 当前db的所有连接

4.2 各个数据库dbs和collection的访问统计,包括reads/writes/queries/getmores/inserts/updates/removes

4.3 写锁的状态

4.4 日志文件的最后几百行

4.5 最上面两行,mongodb状态查询的其他命令



5.获取mongodb当前正在执行的操作db.currentOp()

>db.currentOp()
>{ "opid" : "shard3:466404288", "active" : false, "waitingForLock" : false, "op" : "query", "ns" : "sd.usersEmails", "query" : { }, "client_s" : "10.121.13.8:34473", "desc" : "conn" }

5.1 杀死执行时间过长的命令

>db.killOp("shard3:466404288")


6.MongoDB监控服务MongoDB Monitoring Service(MMS)

mongodb厂商提供的监控服务,可在网页和Andriod客户端查看

mongodb副本集维护






相关内容

热门资讯

白宫发布《科学:新的黄金时代》... 据白宫7月21日消息,白宫科技政策办公室、管理与预算办公室联合发布《科学:新的黄金时代》报告。本次备...
民营商业火箭首次从长三角东海海... 北京时间7月22日10时54分,我国太原卫星发射中心在上海东部海域使用引力一号遥四运载火箭,将搭载的...
美威胁袭伊基础设施,伊朗军方:... △当地时间21日,船只在霍尔木兹海峡航行伊朗武装部队哈塔姆安比亚中央总部当地时间22日发布声明称,美...
扑翼机器人问世:像潜水鸟一样在... 潜鸟、海鸥、海鹦和海燕,是自然界中约100种既能飞行又能游泳的鸟类。这些潜水鸟能够俯冲入水追逐猎物,...
当科学家走进西部脑谷:这里有望... 7月22日,2026天府科学家创新发展大会暨成都科产融合对接活动锦江经开区脑机接口专场在锦江区成功举...
女子身份证丢失后名下出现“吸毒... 四川籍的庞女士定居浙江宁波多年,她怎么也没想到,因丢失身份证一事,竟让她陷入长达7年“自证清白”的困...
省农科院成功研发我省首个高粱全... 近日,记者从省农科院获悉,该院作物资源研究所、农业生物技术研究所联合石家庄博瑞迪生物,成功研制出省内...
消息称AMD与Anthropi... IT之家 7 月 22 日消息,据华尔街日报消息,AMD 与 Anthropic 达成了一项价值数百...
独家!苹果iPhone18系列... 7月22日,中国证券报记者从产业链人士处独家获悉,进入7月,苹果iPhone 18系列手机已在量产,...
29岁的党鑫蕊倒在广西泥泞山路... 7月11日晚一通叮嘱,成了父子最后的对话;几天后父亲在殡仪馆见到一身泥的儿子,才知道“他走得有多难。...