MongoDB activeSessionsCount超出阈值问题

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]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值