Mongodb Couldn‘t get a connection within the time limit

本文讲述了在使用MongoDB时遇到连接超时的问题,通过查看日志发现是由于某个sharding数据库连接耗时过长。解决方案是重启该数据库,最终恢复正常。涉及的技术包括分布式MongoDB、副本集和网络连接管理。
摘要由CSDN通过智能技术生成

Error

mongos> show dbs
2021-08-30T01:57:44.084+0000 E QUERY    [thread1] Error: listDatabases failed:{
	"ok" : 0,
	"errmsg" : "Couldn't get a connection within the time limit",
	"code" : 202,
	"codeName" : "NetworkInterfaceExceededTimeLimit",
	"$clusterTime" : {
		"clusterTime" : Timestamp(1630288651, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	},
	"operationTime" : Timestamp(1630288651, 1)
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:65:1
shellHelper.show@src/mongo/shell/utils.js:816:19
shellHelper@src/mongo/shell/utils.js:706:15
@(shellhelp2):1:1

解决方法

提示连接超时,此时我们去查看日志文件
由于是我采取的分布式mongodb,有副本集,所以查看的是对应的mongos的日志文件

2021-08-27T09:58:49.501+0000 I NETWORK  [conn651] scoped connection to rs/172.93.160.246:27100,216.45.54.169:27100,216.45.54.173:27100 not being returned to the pool
2021-08-27T09:58:49.503+0000 I ASIO     [NetworkInterfaceASIO-TaskExecutorPool-1-0] Connecting to 172.93.160.246:27020
2021-08-27T09:58:49.503+0000 I ASIO     [NetworkInterfaceASIO-TaskExecutorPool-1-0] Connecting to 216.45.54.169:27020
2021-08-27T09:58:49.504+0000 I ASIO     [NetworkInterfaceASIO-TaskExecutorPool-1-0] Connecting to 216.45.54.173:27020
2021-08-27T09:58:49.504+0000 I ASIO     [NetworkInterfaceASIO-TaskExecutorPool-1-0] Successfully connected to 172.93.160.246:27020, took 1ms (1 connections now open to 172.93.160.246:27020)
2021-08-27T09:58:49.506+0000 I ASIO     [NetworkInterfaceASIO-TaskExecutorPool-1-0] Successfully connected to 216.45.54.173:27020, took 2ms (1 connections now open to 216.45.54.173:27020)
2021-08-27T09:58:56.482+0000 I ASIO     [NetworkInterfaceASIO-ShardRegistry-0] Successfully connected to 216.45.54.169:27020, took 12874ms (1 connections now open to 216.45.54.169:27020)
2021-08-27T09:58:56.483+0000 I ASIO     [NetworkInterfaceASIO-TaskExecutorPool-1-0] Successfully connected to 216.45.54.169:27020, took 6980ms (2 connections now open to 216.45.54.169:27020)

最后一行提示连接到某一个sharding数据库耗时太久了,我采取了最简单的方法 重启该分片数据库(kill掉这个进程 然后再重新启动一次),就一切正常了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值