Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 将副本集添加到已在运行的mongo shard群集_Mongodb_Sharding_Replicaset - Fatal编程技术网

Mongodb 将副本集添加到已在运行的mongo shard群集

Mongodb 将副本集添加到已在运行的mongo shard群集,mongodb,sharding,replicaset,Mongodb,Sharding,Replicaset,大家好,我已经使用thsi配置设置了一个mongo集群 我有3台运行mongos的不同机器(都是物理机器,具有不同的IP,以确保稳定性/性能/可用性) 3个不同VM上的3个配置服务器 在高端机器上运行的两个Mongo碎片(在两个端口上运行的两个mongod实例都有单独的db目录) 此设置已就位并已运行 我想向这两个碎片添加副本集,现在意味着每个碎片将有两个副本。 我的问题是 当每个分片都被删除时,如何将副本集添加到现有集群 已经 每个副本将携带与其对应的碎片相同的db空间 有近2 TB的数据吗

大家好,我已经使用thsi配置设置了一个mongo集群

  • 我有3台运行mongos的不同机器(都是物理机器,具有不同的IP,以确保稳定性/性能/可用性)
  • 3个不同VM上的3个配置服务器
  • 在高端机器上运行的两个Mongo碎片(在两个端口上运行的两个mongod实例都有单独的db目录)
  • 此设置已就位并已运行

    我想向这两个碎片添加副本集,现在意味着每个碎片将有两个副本。 我的问题是

  • 当每个分片都被删除时,如何将副本集添加到现有集群 已经
  • 每个副本将携带与其对应的碎片相同的db空间 有近2 TB的数据吗
  • 我是否应该使用不同的计算机托管这些复制副本以确保故障转移
  • 当每个碎片都已存在时,如何将副本集添加到现有集群

    你读过关于切分教程的文档了吗

    每个复制副本将携带与其对应的碎片相同的db空间,其中包含近2 TB的数据

    不确定你的意思是什么,如果你是说它将复制其他两个碎片上的数据,那么就不需要了。它将保存尽可能多的数据

    我是否应该使用不同的计算机托管这些复制副本以确保故障转移

    如果您对副本使用同一台机器,那么为什么要使用分片副本群集

    分片副本集群设置的全部要点是在集群中的多个服务器之间分配工作负载

    使用同一台服务器来完成这一切有点违背了这一点

    这也适用于将单个服务器用于副本集,没有任何意义

    当每个碎片都已存在时,如何将副本集添加到现有集群

    你读过关于切分教程的文档了吗

    每个复制副本将携带与其对应的碎片相同的db空间,其中包含近2 TB的数据

    不确定你的意思是什么,如果你是说它将复制其他两个碎片上的数据,那么就不需要了。它将保存尽可能多的数据

    我是否应该使用不同的计算机托管这些复制副本以确保故障转移

    如果您对副本使用同一台机器,那么为什么要使用分片副本群集

    分片副本集群设置的全部要点是在集群中的多个服务器之间分配工作负载

    使用同一台服务器来完成这一切有点违背了这一点


    这也适用于将单个服务器用于副本集,真的没有意义…

    Hi@Sammaye感谢您指出系统中的这些潜在问题。我浏览了您提供的链接,似乎带有副本集的分片集群在不同的机器上创建了两个副本集,并作为两个分片添加。所以,你能帮助我如何添加副本到我现有的设置,我会得到一个更多的机器来添加新的碎片,而不是在一台机器上运行两个碎片。在这里,我的问题在于,因为我一直在一个碎片上有3T数据,所以如何将这个碎片更新为3个成员的副本set@viren在接近尾声的地方有一个教程,其中介绍了在准备添加复制副本后需要执行的步骤。至于更新现有的碎片,我会将其作为一个单成员副本集重新启动(在将其复制到另一台机器上之后),然后使用其当前的现有数据(预填充的碎片)读取它,并在将二级碎片添加到该集后使其保持平衡。Hi@Sammaye感谢您指出系统中的这些潜在问题。我浏览了您提供的链接,似乎带有副本集的分片集群在不同的机器上创建了两个副本集,并作为两个分片添加。所以,你能帮助我如何添加副本到我现有的设置,我会得到一个更多的机器来添加新的碎片,而不是在一台机器上运行两个碎片。在这里,我的问题在于,因为我一直在一个碎片上有3T数据,所以如何将这个碎片更新为3个成员的副本set@viren在接近尾声的地方有一个教程,其中介绍了在准备添加复制副本后需要执行的步骤。至于更新现有的shard,我会将其作为一个单成员副本集重新启动(在将其复制到另一台机器上之后),然后使用其当前的现有数据(预填充的shard)读取它,并在将二级副本添加到该集后让它保持平衡。