为什么MongoDB从已删除的分片中查询数据

时间:2019-06-17 06:58:14

标签: mongodb sharding transfer

我的应用程序从已删除的分片中查询数据

旧集群:

  1. 数据分片:set_0(在计算机0上),set_1(在计算机1上),set_2(在计算机上) 机器2)
  2. configserver(在machine2上)
  3. mongos(在machine2上)

新集群:

  1. 数据分片:shard_0(在新计算机0上),shard_1(在新计算机1上)

  2. configserver(在新计算机0和新计算机1上,它们已被重新设置)

  3. mongos(在新计算机0上,新计算机1上)

    以前,我的mongodb集群中有三个数据分片。我想将整个集群迁移到新机器上。我这样做是通过将新的数据碎片添加到群集中,并一次从群集中删除旧的数据碎片。

    然后我通过将新的configserver添加到旧的configserver replset中来移动configserver,并将主服务器更改为辅助服务器,并将主服务器更改为主服务器。

    然后我在新集群中启动mongos

    整个过程非常顺利。但是,当我的应用程序从新集群中查询某些数据时,有时会从已删除的碎片(set_2)中查询它们,set_2是数据库的主要碎片,但是我的数据库中没有任何未碎片化的集合。不需要使用movePrimary方法,set2上的removeShard不会出现任何错误)

0 个答案:

没有答案