首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何选择特定的MongoDB副本集成员作为主成员?

如何选择特定的MongoDB副本集成员作为主成员?
EN

Database Administration用户
提问于 2018-06-08 06:47:19
回答 1查看 361关注 0票数 1

我有一个有5个成员的复制品。replica-1是一个主副本,其他副本是次要的:

  • 副本-1(初级)
  • 复制品-2(二级)
  • 复制品-3(二级)
  • 复制品-4(二级)
  • 复制品-5(二级)

如果主副本(replica-1)下降,第二个副本中的一个将切换到主副本。在解决了任何问题后,我将提出replica-1。然后,我需要replica-1再次成为主要的。

我怎样才能做到这一点?我试过使用以下命令,但可以选择任何二级命令:

代码语言:javascript
复制
rs.stepDown()

我怎样才能强迫replica-1成为主要角色?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2018-06-09 04:14:20

您可以影响调整优先级对特定成员的选举结果。默认优先级1可以更改为0到1000之间的任何浮点值(其中0表示不可选成员)。

对于您的用例,您可能希望将首选的主优先级设置为10。除了对所有成员优先级的数字排序之外,优先级值没有任何特殊意义。例如:优先级值1.01、10或1000都高于默认优先级1。

注意:使用优先级可能会导致额外的选举,以确保优先成员在符合条件时成为主要成员。通常,最好将副本集成员看作具有类似资源的对等方,这样任何成员都可以承担主成员的角色。除非有充分理由将某一成员作为主要成员(例如,一套分布在多个数据中心的副本),否则我将避免使用优先次序,或考虑有几个优先事项相同的优先成员,以尽量减少选举。

replica-1的示例序列比所有具有默认优先级(1)的成员具有更高的优先级(10):

  • replica-1是当前的主电路。
  • 为了升级,replica-1正在关闭。
  • replica-2当选为新的初选。
  • replica-1将重新启动并恢复同步,以便赶上当前的主服务器。
  • replica-1赶上了当前的初选,并触发了一次选举,这样它就可以成为主初选。当replica-2下降到第二个连接时,它将删除所有当前连接。

replica-1replica-2设置为相同的优先级将避免额外的选举。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/209068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档