Почему mongodb запрашивает данные с удаленных осколков - PullRequest
1 голос
/ 17 июня 2019

Данные запроса моего приложения от удаленных сегментов

старый кластер:

  1. сегменты данных: set_0 (на machine0), set_1 (на machine1), set_2 (на machine2)
  2. configserver (на машине2)
  3. mongos (на машине2)

новый кластер:

  1. сегменты данных: shard_0 (вклновая машина0), shard_1 (на новой машине1)

  2. configserver (на новой машине 0 и новой машине1 они replset)

  3. mongos (на новой машине0, новой машине1)

    Ранее у меня было три блока данных в моем кластере mongodb.И я хотел перенести весь кластер на новые машины.Я сделал это путем добавления новых сегментов данных в кластер и удаления старых фрагментов данных из кластера по одному.

    И я переместил configserver, добавив новый configserver к старому replset configserver и изменив первичный на вторичный и вторичный на первичный.

    Затем я запускаю mongos в моем новом кластере

    Весь процесс прошел очень гладко.Но когда мое приложение запрашивает некоторые данные из нового кластера, оно иногда запрашивает их из удаленного сегмента (set_2), set_2 является основным фрагментом моей базы данных, но у меня нет никаких необновленных коллекций в моей базе данных, так что я нене нужно использовать метод movePrimary, removeShard на set2 завершено без ошибок)

...