Я обновил сегментированный кластер MongodDB с двумя наборами реплик с 3.2 до 3.4. Текущий механизм хранения — MMAPv1. После успешного обновления всех вторичных, первичных, конфигурационных серверов и mongos до 3.4, когда я запускаю конфигурационный сервер с помощью следующей команды.
судо монгод --configsvr
Я продолжаю получать следующую ошибку.
SHARDING [перезагрузка реестра сегментов] Периодическая перезагрузка реестра сегментов не удалась :: вызвана :: 115 не удалось получить обновленный список сегментов с сервера конфигурации из-за того, что текущий механизм хранения не поддерживает большинство readConcerns; повторит попытку через 30 секунд
А также я не могу подключить mongos к серверу конфигурации. Когда я пытаюсь подключить его, используя следующую команду
sudo mongos --configdb [ip-of-my-config-server]:27019
Это дает мне следующую ошибку.
BadValue: configdb поддерживает только строку подключения набора реплик.
Я предполагаю, что mongos не может подключиться к серверу конфигурации из-за ошибки большинства readConcerns на сервере конфигурации.
В руководстве MongoDB говорится: «При чтении с серверов конфигурации наборов реплик MongoDB 3.4 использует уровень Read Concern «большинства»».
И чтобы использовать уровень беспокойства о чтении «большинство», WiredTiger должен использоваться как механизм хранения.
Так что, похоже, мне нужно переключиться на механизм хранения WiredTiger, чтобы он заработал. Но когда я собирался переключиться на механизм хранения WiredTiger члена набора вторичных реплик, в соответствии с руководством
"Эта процедура полностью удаляет данные члена набора вторичных реплик"
Так что я застрял на полпути. Ситуация
- Сервер конфигурации выдает ошибку относительно большинства readConcerns.
- Я должен переключиться на WiredTiger, чтобы избавиться от него.
- Переключение на WiredTiger приведет к удалению данных из вторичных членов.
- Данные не будут реплицированы обратно на вторичных членов во время этого переключения на процедуру WiredTiger из-за ошибки сервера конфигурации, и в конечном итоге я потеряю все данные (пожалуйста, исправьте, если я ошибаюсь).
Вопросы:
- Могу ли я заставить MongoDB 3.4 использовать «локальный» уровень Read Concern при чтении с серверов конфигурации набора реплик?
- Как я могу переключиться на движок WiredTiger без потери данных в моем сценарии?