gpt4 book ai didi

mongodb 副本集 - 所有节点都在恢复

转载 作者:可可西里 更新时间:2023-11-01 10:50:27 32 4
gpt4 key购买 nike

我正在使用一个简单的 mongodb 副本集配置。我有一个小学和两个中学。在我计划向 mongodb 实例添加访问控制之前,一切都很好。(我知道如何添加)

我关闭了所有 mongod 实例,当我重新启动它们时,所有节点都进入了 RECOVERING 状态。我注意到,当任何(一次只有一个)实例运行时,状态更改为 SECONDARY。现在要添加访问控制(使用访问),我必须处于无法出现的 PRIMARY 节点,因为一旦我启动所有实例,所有实例都会进入 RECOVERING 状态。

为什么会这样?EDIT1:数据库大小为 700 Mb

EDIT2:我设法将它们恢复到一致状态,这是因为我认为之前我在 mongod.conf 文件中有不同的设置。现在我有两个 secondaries 和一个 primary。现在我想添加使用访问控制我应该怎么做才能使节点不会再次进入不一致状态。

最佳答案

我的解决方案是使用 keyFile 身份验证。所以不是:

security:
authorization: enabled

使用:

security:
keyFile: <path-to-keyfile>

基本上我按照以下说明进行操作:

https://docs.mongodb.com/manual/tutorial/enforce-keyfile-access-control-in-existing-replica-set

这保证了一些事情:

  1. 它同时实现内部身份验证(副本之间的通信)用户访问控制
  2. With keyfile authentication, each mongod instances in the replica set uses the contents of the keyfile as the shared password for authenticating other members in the deployment. Only mongod instances with the correct keyfile can join the replica set.

关于mongodb 副本集 - 所有节点都在恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41546091/

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