无法使用别名连接到 GitLab CI/CD mongodb 副本集服务

问题描述 投票:0回答:1

我创建了一个 MongoDB 复制集 docker 映像用于测试目的。它使用 mongodb-memory-server 开源项目(这是一个带有内存存储的 MongoDb)。请参阅https://gitlab.com/sunnyatticsoftware/mongodb-rs

我还创建了一个带有 GitLab CI/CD 管道的存储库来测试与 MongoDb 的连接,它使用上面的 docker 映像作为 GitLab CI/CD 服务,为其分配一个别名

mongors
并使用连接字符串
mongodb://mongors:27017?replicaSet=rs0
。请参阅https://gitlab.com/sunnyatticsoftware/mongodb-rs-tester

可以在本地测试

docker run --name mongodbrs -p 27017:27017 registry.gitlab.com/sunnyatticsoftware/mongodb-rs

如果 /etc/hosts 文件中有一个条目指向

mongodb://localhost:27017?replicaSet=rs0
mongodb://mongors:27017?replicaSet=rs0
,则连接到 
mongors
127.0.0.1

(与 CI/CD 管道相同)

问题是当我在 GitLab CI/CD(GitLab.com 中的共享运行程序)中运行相同的内容时。由于某种原因,它无法连接到 MongoDb 实例。对于其他服务,我从未遇到过通过别名访问主机名的任何问题,但对于此服务,连接似乎存在问题。为什么?如何让这条管道成功?

[xUnit.net 00:00:30.68]     MongoDbConnection.FunctionalTests.ConnectorTests.It_Should_Connect_To_Replica_Set_Database [FAIL]
  Failed MongoDbConnection.FunctionalTests.ConnectorTests.It_Should_Connect_To_Replica_Set_Database [30 s]
  Error Message:
   System.TimeoutException : A timeout occurred after 30000ms selecting a server using CompositeServerSelector{ Selectors = ReadPreferenceServerSelector{ ReadPreference = { Mode : Primary } }, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 }, OperationsCountServerSelector }. Client view of cluster state is { ClusterId : "1", ConnectionMode : "ReplicaSet", Type : "ReplicaSet", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "127.0.0.1:27017" }", EndPoint: "127.0.0.1:27017", ReasonChanged: "Heartbeat", State: "Disconnected", ServerVersion: , TopologyVersion: , Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server.
...

更新1

我为 GitLab CI/CD 创建了一个不同的测试器项目,将 C# Mongo 驱动程序排除在外,并使用 mongosh 代替 这是https://gitlab.com/sunnyatticsoftware/mongodb-rs-tester-mongosh

CI/CD 管道失败。在此登录https://github.com/nodkz/mongodb-memory-server/files/13051684/raw_log_pipeline.txt

我发现的东西

在本地,使用相同的 docker 容器,连接字符串

mongodb://mongors:27017?replicaSet=rs0 

连接良好 在 GitLab CI/CD 中,如果我使用连接字符串

mongodb://mongors:27017 it pings OK, but mongodb://mongors:27017?replicaSet=rs0

失败(参见日志) 我在管道中运行的命令是

mongosh "mongodb://mongors:27017?replicaSet=rs0" --quiet --eval "db.runCommand({ ping: 1 })" || exit 1

根据我的.gitlab-ci.yml


更新2

我在这里创建了一个问题来进行调查,因为我认为这不是连接问题。看起来可以找到主机/别名,但指定副本集时连接被拒绝。请参阅以下日志,除了显示

/etc/hosts
之外,我还尝试连接到

  • mongosh "mongodb://mongors:27017" --quiet --eval "db.runCommand({ ping: 1 })" || exit 1
    好的
  • mongosh "mongodb://mongors:27017?replicaSet=rs0" --quiet --eval "db.runCommand({ ping: 1 })" || exit 1
    错误
$ mongosh --version
2.0.2
$ cat /etc/hosts
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.3  registry.gitlab.com__sunnyatticsoftware__mongodb-rs 398338eeb54b runner-ns46nmmj-project-51414559-concurrent-0-e41c37375e72e41f-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-0
172.17.0.3  registry.gitlab.com-sunnyatticsoftware-mongodb-rs 398338eeb54b runner-ns46nmmj-project-51414559-concurrent-0-e41c37375e72e41f-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-0
172.17.0.3  mongors 398338eeb54b runner-ns46nmmj-project-51414559-concurrent-0-e41c37375e72e41f-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-0
172.17.0.4  runner-ns46nmmj-project-51414559-concurrent-0

$ echo "Connect mongosh to mongodb://mongors:27017"
Connect mongosh to mongodb://mongors:27017
$ mongosh "mongodb://mongors:27017" --quiet --eval "db.runCommand({ ping: 1 })" || exit 1
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.268613610Z 2023-10-21T20:48:48.268Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.268+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:55660","uuid":"2a8e7616-78df-4b99-99e6-85c58352c0eb","connectionId":4,"connectionCount":1}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.272056363Z 2023-10-21T20:48:48.271Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.271+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn4","msg":"client metadata","attr":{"remote":"172.17.0.4:55660","client":"conn4","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.286567180Z 2023-10-21T20:48:48.286Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.286+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:55662","uuid":"dd86bb85-3095-4003-ac6e-759bdbd5ee73","connectionId":5,"connectionCount":2}}
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.286589530Z {"t":{"$date":"2023-10-21T20:48:48.286+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:55664","uuid":"f878666f-a628-445f-b06f-5f4f9464c5f2","connectionId":6,"connectionCount":3}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.287491289Z 2023-10-21T20:48:48.287Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.287+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn5","msg":"client metadata","attr":{"remote":"172.17.0.4:55662","client":"conn5","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.288369637Z 2023-10-21T20:48:48.288Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.288+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn6","msg":"client metadata","attr":{"remote":"172.17.0.4:55664","client":"conn6","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.296276792Z 2023-10-21T20:48:48.296Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.296+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:55666","uuid":"529da4a0-1ddf-4d87-b4fc-ed56c1d3f9be","connectionId":7,"connectionCount":4}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.297127200Z 2023-10-21T20:48:48.297Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.296+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn7","msg":"client metadata","attr":{"remote":"172.17.0.4:55666","client":"conn7","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
{
  ok: 1,
  '$clusterTime': {
    clusterTime: Timestamp({ t: 1697921325, i: 1 }),
    signature: {
      hash: Binary.createFromBase64("AAAAAAAAAAAAAAAAAAAAAAAAAAA=", 0),
      keyId: Long("0")
    }
  },
  operationTime: Timestamp({ t: 1697921325, i: 1 })
}
$ echo "Connect mongosh to mongodb://mongors:27017?replicaSet=rs0 (notice the replicaSet parameter)"
Connect mongosh to mongodb://mongors:27017?replicaSet=rs0 (notice the replicaSet parameter)
$ mongosh "mongodb://mongors:27017?replicaSet=rs0" --quiet --eval "db.runCommand({ ping: 1 })" || exit 1
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.555348507Z 2023-10-21T20:48:48.555Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.554+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn5","msg":"Connection ended","attr":{"remote":"172.17.0.4:55662","uuid":"dd86bb85-3095-4003-ac6e-759bdbd5ee73","connectionId":5,"connectionCount":2}}
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.555404277Z {"t":{"$date":"2023-10-21T20:48:48.554+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn7","msg":"Connection ended","attr":{"remote":"172.17.0.4:55666","uuid":"529da4a0-1ddf-4d87-b4fc-ed56c1d3f9be","connectionId":7,"connectionCount":1}}
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.555413937Z {"t":{"$date":"2023-10-21T20:48:48.554+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn4","msg":"Connection ended","attr":{"remote":"172.17.0.4:55660","uuid":"2a8e7616-78df-4b99-99e6-85c58352c0eb","connectionId":4,"connectionCount":0}}
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.555420517Z {"t":{"$date":"2023-10-21T20:48:48.554+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn6","msg":"Connection ended","attr":{"remote":"172.17.0.4:55664","uuid":"f878666f-a628-445f-b06f-5f4f9464c5f2","connectionId":6,"connectionCount":3}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.950560737Z 2023-10-21T20:48:48.950Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.950+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:55668","uuid":"261247c9-9600-4006-a558-1bd88230adaf","connectionId":8,"connectionCount":1}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.954180531Z 2023-10-21T20:48:48.954Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.953+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn8","msg":"client metadata","attr":{"remote":"172.17.0.4:55668","client":"conn8","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors] 2023-10-21T20:48:48.960618122Z 2023-10-21T20:48:48.960Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-10-21T20:48:48.960+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn8","msg":"Connection ended","attr":{"remote":"172.17.0.4:55668","uuid":"261247c9-9600-4006-a558-1bd88230adaf","connectionId":8,"connectionCount":0}}""
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit code 1

所以 问题似乎与

?replicaSet=rs0
参数有关(当然,该参数在本地运行良好)。为什么?


更新3

发送

{hello:1}
而不是
{ping:1}
具有类似的结果,即副本集拒绝连接

$ echo "Connect mongosh to mongodb://mongors:27017"
Connect mongosh to mongodb://mongors:27017
$ mongosh "mongodb://mongors:27017" --quiet --eval "db.runCommand({ hello: 1 })" || exit 1
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.638200491Z 2023-11-02T10:03:03.637Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.637+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:33342","uuid":"6cd2028d-b1b3-492f-964f-178d7059c9df","connectionId":4,"connectionCount":1}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.648909609Z 2023-11-02T10:03:03.648Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.648+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn4","msg":"client metadata","attr":{"remote":"172.17.0.4:33342","client":"conn4","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.664107471Z 2023-11-02T10:03:03.663Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.663+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:33344","uuid":"845d59ee-fb66-4898-bd38-98d14cdb8b5c","connectionId":5,"connectionCount":2}}
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.664138321Z {"t":{"$date":"2023-11-02T10:03:03.663+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:33346","uuid":"329d6499-e234-4d12-ab8c-e57d77756190","connectionId":6,"connectionCount":3}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.665336594Z 2023-11-02T10:03:03.665Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.665+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn5","msg":"client metadata","attr":{"remote":"172.17.0.4:33344","client":"conn5","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.665876761Z 2023-11-02T10:03:03.665Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.665+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn6","msg":"client metadata","attr":{"remote":"172.17.0.4:33346","client":"conn6","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.673855875Z 2023-11-02T10:03:03.673Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.673+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:33348","uuid":"88427e09-d6f5-4f8c-bd2b-82562305ede9","connectionId":7,"connectionCount":4}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.675417506Z 2023-11-02T10:03:03.675Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.675+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn7","msg":"client metadata","attr":{"remote":"172.17.0.4:33348","client":"conn7","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
{
  topologyVersion: {
    processId: ObjectId("654373bbc2a9bcf5f306fc06"),
    counter: Long("6")
  },
  hosts: [ '127.0.0.1:27017' ],
  setName: 'rs0',
  setVersion: 1,
  isWritablePrimary: true,
  secondary: false,
  primary: '127.0.0.1:27017',
  me: '127.0.0.1:27017',
  electionId: ObjectId("7fffffff0000000000000001"),
  lastWrite: {
    opTime: { ts: Timestamp({ t: 1698919376, i: 1 }), t: Long("1") },
    lastWriteDate: ISODate("2023-11-02T10:02:56.000Z"),
    majorityOpTime: { ts: Timestamp({ t: 1698919376, i: 1 }), t: Long("1") },
    majorityWriteDate: ISODate("2023-11-02T10:02:56.000Z")
  },
  maxBsonObjectSize: 16777216,
  maxMessageSizeBytes: 48000000,
  maxWriteBatchSize: 100000,
  localTime: ISODate("2023-11-02T10:03:03.962Z"),
  logicalSessionTimeoutMinutes: 30,
  connectionId: 7,
  minWireVersion: 0,
  maxWireVersion: 17,
  readOnly: false,
  ok: 1,
  '$clusterTime': {
    clusterTime: Timestamp({ t: 1698919376, i: 1 }),
    signature: {
      hash: Binary.createFromBase64("AAAAAAAAAAAAAAAAAAAAAAAAAAA=", 0),
      keyId: Long("0")
    }
  },
  operationTime: Timestamp({ t: 1698919376, i: 1 })
}
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.976117734Z 2023-11-02T10:03:03.975Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.975+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn6","msg":"Connection ended","attr":{"remote":"172.17.0.4:33346","uuid":"329d6499-e234-4d12-ab8c-e57d77756190","connectionId":6,"connectionCount":2}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.976528782Z 2023-11-02T10:03:03.976Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:03.975+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn5","msg":"Connection ended","attr":{"remote":"172.17.0.4:33344","uuid":"845d59ee-fb66-4898-bd38-98d14cdb8b5c","connectionId":5,"connectionCount":3}}
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.976564302Z {"t":{"$date":"2023-11-02T10:03:03.975+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn4","msg":"Connection ended","attr":{"remote":"172.17.0.4:33342","uuid":"6cd2028d-b1b3-492f-964f-178d7059c9df","connectionId":4,"connectionCount":1}}
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:03.976574112Z {"t":{"$date":"2023-11-02T10:03:03.976+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn7","msg":"Connection ended","attr":{"remote":"172.17.0.4:33348","uuid":"88427e09-d6f5-4f8c-bd2b-82562305ede9","connectionId":7,"connectionCount":0}}""
$ echo "Connect mongosh to mongodb://mongors:27017?replicaSet=rs0 (notice the replicaSet parameter)"
Connect mongosh to mongodb://mongors:27017?replicaSet=rs0 (notice the replicaSet parameter)
$ mongosh "mongodb://mongors:27017?replicaSet=rs0" --quiet --eval "db.runCommand({ hello: 1 })" || exit 1
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:04.421868163Z 2023-11-02T10:03:04.421Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:04.421+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:33350","uuid":"535a26aa-f902-43b3-9865-b9a75a9ddbd4","connectionId":8,"connectionCount":1}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:04.427158992Z 2023-11-02T10:03:04.427Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:04.426+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn8","msg":"client metadata","attr":{"remote":"172.17.0.4:33350","client":"conn8","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs-registry.gitlab.com-sunnyatticsoftware-mongodb-rs] 2023-11-02T10:03:04.433126958Z 2023-11-02T10:03:04.432Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:03:04.432+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn8","msg":"Connection ended","attr":{"remote":"172.17.0.4:33350","uuid":"535a26aa-f902-43b3-9865-b9a75a9ddbd4","connectionId":8,"connectionCount":0}}""
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 1

此外,在参数之前的连接字符串中添加尾部斜杠(即:

mongodb://mongors:27017/?replicaSet=rs0
)也没有任何区别。

$ mongosh "mongodb://mongors:27017/?replicaSet=rs0" --quiet --eval "db.runCommand({ hello: 1 })" || exit 1
[service:registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs] 2023-11-02T10:06:19.703057492Z 2023-11-02T10:06:19.702Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:06:19.702+00:00"},"s":"I",  "c":"NETWORK",  "id":22943,   "ctx":"listener","msg":"Connection accepted","attr":{"remote":"172.17.0.4:37438","uuid":"25eda74c-bdee-43dd-9b5b-e10f7edfdaf7","connectionId":9,"connectionCount":1}}""
[service:registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs] 2023-11-02T10:06:19.706469535Z 2023-11-02T10:06:19.706Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:06:19.706+00:00"},"s":"I",  "c":"NETWORK",  "id":51800,   "ctx":"conn9","msg":"client metadata","attr":{"remote":"172.17.0.4:37438","client":"conn9","doc":{"application":{"name":"mongosh 2.0.2"},"driver":{"name":"nodejs|mongosh","version":"6.0.0|2.0.2"},"platform":"Node.js v20.8.1, LE","os":{"name":"linux","architecture":"x64","version":"5.4.109+","type":"Linux"}}}}""
[service:registry.gitlab.com-sunnyatticsoftware-mongodb-rs-mongors-registry.gitlab.com__sunnyatticsoftware__mongodb-rs] 2023-11-02T10:06:19.712527412Z 2023-11-02T10:06:19.712Z MongoMS:MongoInstance Mongo[27017]: stdoutHandler: ""{"t":{"$date":"2023-11-02T10:06:19.712+00:00"},"s":"I",  "c":"NETWORK",  "id":22944,   "ctx":"conn9","msg":"Connection ended","attr":{"remote":"172.17.0.4:37438","uuid":"25eda74c-bdee-43dd-9b5b-e10f7edfdaf7","connectionId":9,"connectionCount":0}}""
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
mongodb gitlab-ci gitlab-ci-runner mongodb-memory-server
1个回答
0
投票

因为太大所以写在这里。我认为您的副本集配置不正确。基于此:

hosts: [ '127.0.0.1:27017' ],
,您那里只有一台服务器。例如,在正常情况下,它应该是这样的:

    "hosts" : [
            "localhost:27017",
            "localhost:27018",
            "localhost:27019"
    ],

rs.config()
向您展示了什么?

© www.soinside.com 2019 - 2024. All rights reserved.