在文档中,我发现了两种向成员添加副本的方法:
rs.add('mongodb0.example.net:27017')
sh.addShard( "rs1/mongodb0.example.net:27017" )
所以,检查我是否理解:这个标准是真的吗?
谢谢。
答案 0 :(得分:1)
rs.add()用于将成员的额外副本添加到其副本集中。可用于配置服务器和分片。
-
rs.add()用于将成员的额外副本添加到其副本集
以上陈述是正确的。但更确切地说,我将其重新命名为“将额外成员添加到当前主副本集”。
可用于配置服务器
是的,如果您使用Replica Set Config Server - 在MongoDB 3.2中反对三个镜像配置服务器(SCCC),或者您使用的是MongoDB 3.4。
和分片
这不正确。 Shard是集群的逻辑成员,它本身可以是副本集或独立集合(建议仅用于测试/开发目的)。您无法使用rs
shell hellper将分片添加到群集中。
sh.addShard()是将分片添加到群集的特定方法。但为方便起见,还可以使用副本添加到分片的副本集。
-
sh.addShard()是将分片添加到群集的特定方法。
正确
但为方便起见,也可以使用副本添加到分片的副本集。
不正确。 addShard
,正如其名称所暗示的那样,用于将碎片添加到集群而不是成员(您称之为复制品)添加到集合中。如上所述,分片可以是独立的或副本集。在后一种情况下,addShard
参数必须是副本集名称(rs1
)后跟'/'。然后是副本集种子成员。全部放在一起:"rs1/mongodb0.example.net:27017"
您 - 至少 - 必须先初始化副本集,然后再将其作为分片添加到群集中。在将群集作为分片加入群集后,您始终可以添加(或删除)该副本集中的成员。