【发布时间】:2019-05-05 14:32:43
【问题描述】:
我已经设置了 docker 并创建了四个容器(每个容器都安装了单个 mongodb 实例并启用了身份验证)来启用带有仲裁器的 mongodb 复制。我还向主机公开了 mongodb 的 27017 端口,以便外部应用程序应该能够连接它,但我无法从 Eclipse 连接我的 JAVA Spring 应用程序。
以下是我使用的mongo uri:
mongodb://username:password@192.168.1.102:18088,192.168.1.102:18089,192.168.1.102:18099/?authSource=dbName;replicaSet=rs0;readPreference=secondaryPreferred;authMechanism=SCRAM-SHA-1; waitQueueMultiple=100
Exception"在等待匹配 com.mongodb.client.internal.MongoClientDelegate$1@739c3a21 的服务器时超时 30000 毫秒。集群状态的客户端视图是 {type=REPLICA_SET,servers=[{address=mongo3 :27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: mongo3}, 由 {java.net.UnknownHostException: mongo3}} 引起,{address=mongo2:27017, type=UNKNOWN, state=CONNECTING , exception={com.mongodb.MongoSocketException: mongo2}, 由 {java.net.UnknownHostException: mongo2}} 引起,{address=mongo1:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: mongo1},由 {java.net.UnknownHostException: mongo1}} 引起,{address=mongorb:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: mongorb}, ca {java.net.UnknownHostException: mongorb}}];嵌套异常是 com.mongodb.MongoTimeoutException: 在等待与 com.mongodb.client.internal.MongoClientDelegate$1@739c3a21 匹配的服务器时超时 30000 毫秒。集群状态的客户端视图是 {type=REPLICA_SET, servers=[{address=mongo3:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: mongo3}, 由 {java.net.UnknownHostException: mongo3}}, {address=mongo2:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: mongo2}, 由 {java.net.UnknownHostException: mongo2}} 引起,{address=mongo1:27017 , type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketException: mongo1}, 由 {java.net.UnknownHostException: mongo1}} 引起, {address=mongorb:27017, type=UNKNOWN, state=CONNECTING, 异常={com.mongodb.MongoSocketException: mongorb},由 {java.net.UnknownHostException: mongorb}} 引起”
【问题讨论】:
标签: spring mongodb docker containers database-replication