MongoDB activeSessionsCount超出阈值问题

MongoDB activeSessionsCount超出阈值问题,第1张

1.问题描述

发现mongodb-exporter与mongo主节点连接断开
报错日志如下:

登录mongodb主节点,无法连接,日志中未发现报错
登录从节点,副本集各成员状态正常

2.解决方法

maxSessions达到100万的阈值,此时需要修改配置文件

setParameter:
   maxSessions: 2000000

进行主从切换,然后重启原主节点,可以重新连接上该节点

3.问题原因

该集群为普通副本集,发现配置文件中包括

sharding:
clusterRole: shardsvr

移除此项配置后,maxSessions没有再持续增长。
查看官方文档
该system.sessions集合存储可供部署的所有成员使用的session记录。
Session清除是通过config.system.sessions上的TTL索引完成的

gz_shard1:PRIMARY> db.system.sessions.getIndexes()
[
       {
               "v" : 2,
               "key" : {
                       "_id" : 1
               },
               "name" : "_id_"
       },
       {
               "v" : 2,
               "key" : {
                       "lastUse" : 1
               },
               "name" : "lsidTTLIndex",
               "expireAfterSeconds" : 1800
       }
]

对于普通副本集如果配置sharding项,此时是没有system.sessions集合的,因此无法清除session,从而逐渐增长达到阈值,导致无法DB连接。
参考[https://jira.mongodb.org/browse/SERVER-49390]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/720020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存