首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分片MongoDB

分片MongoDB
EN

Stack Overflow用户
提问于 2017-04-25 08:47:49
回答 1查看 442关注 0票数 0

我有6个VM (Master、3个configsvr和两个碎片);我想在我的碎片中添加副本集。

是否可以将碎片设置为另一个碎片的复制,反之亦然?还是应该添加其他VM作为碎片副本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-25 09:50:27

简而言之:您应该为新的复制集节点添加新的VM,并且您需要小心处理碎片集群配置.。

要回答你的第一个问题:

在单个主机上运行两个mongod实例(作为不同副本集的两个节点)将给您带来困难,例如使用RAM,因此您应该避免这种情况。相反,每个复制集节点应该位于不同的主机上(不同的VM)。

并进一步讨论碎片集群配置问题:

目前,簇配置将把每个碎片注册为一个独立的实例。

代码语言:javascript
复制
{ "_id" : "shard0000", "host" : "vms2:30000" }

拥有将独立实例转换为副本集之后,碎片集群配置将需要是更新为匹配

连接到切分集群的mongos实例之一,并以下列形式发出命令: db.getSiblingDB("config").shards.save( {_id: "«name»", host: "«replica-set»/«member,»«member,»«...»" } )«name»替换为碎片的名称。将«replica-set»替换为副本集的名称。将«member,»«member,»«...»替换为副本集成员的列表。 重新启动所有mongos实例。如果可能的话,重新启动副本集的所有组件(即所有mongos和所有shard mongod实例)。

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

https://stackoverflow.com/questions/43605803

复制
相关文章

相似问题

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