我通过 atlas 云产品在 AWS 上托管了一个 mongo 数据库集群。 问题:我陷入了这样一种情况:我的集群有空闲/陈旧的连接,但我似乎无法摆脱它们。
连接数为 98,而我的层允许只有 100。
我确实能够通过 Mongo Shell 或其他工具连接到此集群,但我似乎找不到重新启动服务或强制关闭连接的方法。
现在我无法访问底层容器或VM,因此我无法控制mongo服务。
当我通过外壳连接时,我尝试过
db.runCommand( { killAllSessions: [ ] } )
但这给了我
{ "ok" : 0, "errmsg" : "CMD_NOT_ALLOWED: killAllSessions", "code" : 8000, "codeName" : "AtlasError" }
我连接到 shell 的用户拥有最大权限 - 它是 atlasAdmin@admin 角色(我也尝试过 clusterMonitor@admin 角色)
我似乎也无法在 mongo 云管理器 Web UI 中找到任何重启选项
这就是我最终所做的。
由于我处于 M0 层,我唯一的选择是从 IP 白名单中删除所有 IP - 这会立即关闭到我的集群的所有外部连接。然后我重新添加了所需的 IP。
如果我处于更高的层级,我也可以尝试这种方法 - https://docs.atlas.mongodb.com/tutorial/test-failover/