gpt4 book ai didi

mongodb - mongoS容器内的mongo连接错误

转载 作者:行者123 更新时间:2023-12-02 11:43:38 27 4
gpt4 key购买 nike

我正在尝试使用StatefulSets和Headless Services协调Kubernetes中的MongoDB集群。一段时间以来,我一直在试图找出问题所在,但找不到我可以使用的任何东西。

在进行研究时,我发现了this repository,它已克隆并适应了用例。您可以找到 list 之一(用于mongoS实例的 list )right here

然后,我运行存储库中附带的generate.sh脚本,但是注释了与gcloudpersistentVolume相关的所有内容,仅保留了statefulSet / Service生成过程。一切似乎都正常,但是只要脚本到达块

# Wait for the mongos to have started properly
echo "Waiting for the first mongos to come up (`date`)..."
echo " (IGNORE any reported not found & connection errors)"
echo -n " "
until kubectl --v=0 exec mongos-router-0 -c mongos-container -- mongo --quiet --eval 'db.getMongo()'; do
sleep 2
echo -n " "
done
echo "...first mongos is now running (`date`)"
echo

它只是单独给出此错误消息:
2019-03-11T14:02:03.531+0000 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:343:13
@(connect):1:21
exception: connect failed
command terminated with exit code 1

因此,我尝试直接从Pod内部运行 mongo,但是发生了相同的错误。然后我只是尝试在容器内部使用不同的端口运行 mongo,运行 mongo --port 27018(也尝试了27019和27020),只是为了查看未暴露的端口会产生哪种错误,而且看起来也给出了相同的错误。

如何在端口27017上运行mongos的容器中运行mongo?似乎我已经必须在运行 mongod shell之前运行 mongo,即使 mongos已经启动。这真是令人难以置信,我觉得我错过了一些东西。我在mongos pods内只有这个错误,而mongo-configdb和mongod-maindb似乎运行平稳(并且在其中运行mongo shell不会给出任何错误。此外,在其中之一中执行 rs.status()时,它可以工作精细)。

您可以找到一些 mongos日志 there

TL; DR
如何在端口27017上运行mongos的容器中运行mongo?

N.B .: 我使用的是官方dockerhub存储库中的镜像 mongo:3.6

最佳答案

我不太清楚为什么,但是将运行端口从27017更改为27020很好。如果有人路过并且可以解释如何进行操作,我很高兴听到他/她的解释为netstat -tunelp(以及ps aux),而在我的两个k8s节点上grepping端口27017都没有给出与端口27017相关的任何输出...

关于mongodb - mongoS容器内的mongo连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55103894/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com