gpt4 book ai didi

python - 仅初始化 mongo 副本集一次

转载 作者:行者123 更新时间:2023-12-03 17:30:39 28 4
gpt4 key购买 nike

我正在尝试将相同的 docker 容器自动部署到多个服务器。部署由一个 python 脚本和一个 mongodb 数据库组成,它们应该在副本集中连接到其他 mongodb 实例。

我发现副本集的大部分设置都清晰且有据可查。但是,在关注 this 的同时教程我遇到了以下内容:

Run rs.initiate() on just one and only one mongod instance for the replica set.



假设 python 脚本可以访问要部署容器的服务器的详尽列表(但可能尚未运行) (i) 如何确保 rs.initiate()对整个副本集只运行一次而无需人工干预? (ii) 运行有什么后果 rs.initiate()多次?

最佳答案

副本集具有在所有节点之间共享的内部状态信息。如果您同时运行 rs.initiate例如,在每个单节点上,每个节点都会尝试发起自己的副本集,一个节点会拒绝加入其他节点的副本集,因为它们是不同的副本集。
您的供应逻辑需要选择一个节点来运行 rs.initiate在。
例如,您可以通过按字母顺序对主机名进行排序并使用第一个主机进行启动来实现。

关于python - 仅初始化 mongo 副本集一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54811135/

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