развертывание mongodb в кластере с пакетной очередью, постоянные данные, но имена хостов будут менять каждое последующее задание - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь запустить сегментированный кластер MongoDB поверх кластера HPC, чтобы задания отправлялись через очереди пакетных заданий и общую файловую систему на всех вычислительных узлах.Каждый раз при отправке задания нет никакой гарантии, на каких хостах будет выполняться код.

Я выполняю анализ данных на массивно параллельном суперкомпьютере.Анализ выгоден тем, что его данные размещаются в запрашиваемой базе данных, такой как mongodb, то есть распределенное хранилище данных.Я хотел бы использовать часть назначенных вычислительных узлов для запуска общего кластера mongodb, а остальные - для анализа.

В этом процессе будет как минимум 2 пакетных задания.

1) запускать конфигурацию mongo, сегменты и маршрутизаторы на подмножестве назначенных вычислительных узлов.Затем запустите сценарии ingest для одновременной загрузки данных на остальные вычислительные узлы.Когда это задание будет завершено, оно завершит работу всех демонов Монго и вернет вычислительные ресурсы обратно в систему.

2) запросить другое задание для запуска конфигураций mongo, сегментов и маршрутизаторов на подмножестве назначенных вычислительных узлов.Затем на остальных вычислительных узлах код анализа будет выполняться одновременно, опрашивая присоединенный кластер Mongodb.

Надежда состоит в том, что мне нужно запустить только 1) один раз, но затем я смогу запустить 2) с любым сумасшедшим анализом, который ямечтай.

На данный момент у меня 1) работает хорошо.Однако имена хостов сохраняются в rs.conf ().Для 2), когда я пытаюсь перезапустить кластер в последующем задании, я получаю много

2019-02-18T13:32:38.946-0600 I NETWORK  [Balancer] Cannot reach any nodes for set monitoringMetricsShard3. Ple
ase check network connectivity and the status of the set. This has happened for 10 checks in a row.
2019-02-18T13:32:39.457-0600 W NETWORK  [Balancer] Unable to reach primary for set monitoringMetricsShard3
2019-02-18T13:32:39.457-0600 I NETWORK  [Balancer] Cannot reach any nodes for set monitoringMetricsShard3. Ple
ase check network connectivity and the status of the set. This has happened for 11 checks in a row.
2019-02-18T13:32:39.968-0600 W NETWORK  [Balancer] Unable to reach primary for set monitoringMetricsShard3
2019-02-18T13:32:40.480-0600 W NETWORK  [Balancer] Unable to reach primary for set monitoringMetricsShard3

Я нашел это, Состояние члена набора реплик MongoDB - "ДРУГОЕ" , что помогаетисправить конфигурационный сервер.Но я только в состоянии монго оболочки в сервер конфигурации и маршрутизатор Монгос.Оболочке монго в осколках отказывают.

TL; DR Я хочу, чтобы общие данные кластера mongodb постоянно сохранялись в файловой системе, но демоны будут регулярно перезапускаться на разных хостах.

1 Ответ

0 голосов
/ 06 марта 2019

Ответ на этот вопрос немного RTFM.

MongoDB имеет SOP для восстановления сегментированного кластера,

https://docs.mongodb.com/manual/tutorial/restore-sharded-cluster/

Запутанная вещь в этом документеэто много говорит о резервном копировании работающего кластера до его выключения.Существует раздел «Другой метод резервного копирования», в котором описывается простое копирование соответствующих файлов на новый хост.После этого это руководство точно описывает, как перенастроить наборы реплик и сегменты для принятия нового имени хоста нового кластера.

...