这是错误消息中最重要的部分:
Client view of cluster state is
{
ClusterId: "1",
ConnectionMode: "ReplicaSet",
Type: "ReplicaSet",
State: "Disconnected",
Servers: [{
ServerId: {
ClusterId: 1,
EndPoint: "Unspecified/wsmongodb001:27017"
},
EndPoint: "Unspecified/wsmongodb001:27017",
State: "Disconnected",
Type: "Unknown",
HeartbeatException: "[...] System.Net.Sockets.SocketException: No such host is known [...]"
}]
}
请注意该字段的“未知此类主机”部分HeartbeatException
。
您的副本集配置了主机名而不是IP地址。显然,您的客户端应用程序无法解析wsmongodb001
为IP地址。
您将需要:
确保您的副本集已启动并正在运行。从mongo
外壳程序手动连接到其中一台服务器,运行rs.status()
并检查是否存在主服务器并且没有错误。
确保您的客户端应用可访问通过副本集配置的所有域名rs.conf()
。如果不确定它们是否是,只需在运行该应用程序和ping
每个域名的计算机上打开命令提示符。