Yandex.Cloud
  • Сервисы
  • Почему Yandex.Cloud
  • Сообщество
  • Решения
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Yandex Managed Service for MongoDB
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Информация об имеющихся кластерах
    • Создание кластера
    • Миграция базы данных в Yandex.Cloud
    • Подключение к базе данных
    • Остановка и запуск кластера
    • Изменение настроек кластера и базы данных
    • Обновление версии MongoDB
    • Управление базами данных
    • Управление хостами кластера
    • Управление пользователями БД
    • Управление резервными копиями
    • Управление шардами
    • Удаление кластера
  • Сценарии использования
    • Шардирование коллекций
  • Концепции
    • Взаимосвязь ресурсов сервиса
    • Классы хостов
      • Действующие классы хостов
      • Архив
        • До 1 июня 2020 года
      • Использование устаревших классов хостов
    • Сеть в Managed Service for MongoDB
    • Квоты и лимиты
    • Типы хранилища
    • Резервные копии
    • Репликация
    • Шардирование
    • Пользователи и роли
    • Поддерживаемые клиенты
  • Управление доступом
  • Правила тарификации
    • Действующие правила
    • Архив
      • До 1 января 2019 года
      • С 1 января до 1 марта 2019 года
      • С 1 марта 2019 года до 1 февраля 2020 года
  • Справочник API
    • Аутентификация в API
    • gRPC
      • Обзор
      • BackupService
      • ClusterService
      • DatabaseService
      • ResourcePresetService
      • UserService
      • OperationService
    • REST
      • Обзор
      • Backup
        • Обзор
        • get
        • list
      • Cluster
        • Обзор
        • addHosts
        • addShard
        • backup
        • create
        • delete
        • deleteHosts
        • deleteShard
        • enableSharding
        • get
        • getShard
        • list
        • listBackups
        • listHosts
        • listLogs
        • listOperations
        • listShards
        • move
        • restore
        • start
        • stop
        • update
      • Database
        • Обзор
        • create
        • delete
        • get
        • list
      • ResourcePreset
        • Обзор
        • get
        • list
      • User
        • Обзор
        • create
        • delete
        • get
        • grantPermission
        • list
        • revokePermission
        • update
      • Operation
        • Обзор
        • get
  • Вопросы и ответы
    • Общие вопросы
    • Вопросы о MongoDB
    • Все вопросы на одной странице
  1. Пошаговые инструкции
  2. Управление хостами кластера

Управление хостами кластера

  • Получить список хостов в кластере
  • Добавить хост
  • Удалить хост
  • Запустить ресинхронизацию хоста

Вы можете добавлять и удалять хосты кластера, запускать повторную синхронизацию хостов, а также управлять настройками MongoDB для отдельных кластеров.

Получить список хостов в кластере

Консоль управления
CLI
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.

  2. Нажмите на имя нужного кластера, затем выберите вкладку Хосты.

Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы получить список хостов в кластере, выполните команду:

$ yc managed-mongodb host list
     --cluster-name <имя кластера>

+----------------------------+--------------+--------+------------+--------------+----------+---------------+-----------+
|            NAME            |  CLUSTER ID  |  TYPE  | SHARD NAME |     ROLE     |  HEALTH  |    ZONE ID    | PUBLIC IP |
+----------------------------+--------------+--------+------------+--------------+----------+---------------+-----------+
| rc1b...mdb.yandexcloud.net | c9qp71dk1... | MONGOD | rs01       | PRIMARY      | ALIVE    | ru-central1-b | false     |
| rc1c...mdb.yandexcloud.net | c9qp71dk1... | MONGOD | rs01       | SECONDARY    | ALIVE    | ru-central1-c | false     |
+----------------------------+--------------+--------+------------+--------------+----------+---------------+-----------+

Имя кластера можно запросить со списком кластеров в каталоге.

Получить список хостов кластера можно с помощью метода listHosts.

Добавить хост

Количество хостов в кластерах Managed Service for MongoDB ограничено квотами на количество CPU и объем памяти, которые доступны кластерам БД в вашем облаке. Чтобы проверить используемые ресурсы, откройте страницу Квоты и найдите блок Yandex Managed Service for MongoDB.

Вы можете добавлять в кластер хосты разных типов. Их количество зависит от типа шардирования:

Тип шардирования MONGOD MONGOINFRA MONGOS MONGOCFG
Без шардирования ⩾ 1 — — —
Стандартный ⩾ 1 ⩾ 3 — —
Расширенный ⩾ 1 — ⩾ 2 ⩾ 3
Консоль управления
CLI
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.

  2. Нажмите на имя нужного кластера и перейдите на вкладку Хосты.

  3. Нажмите кнопку Добавить хост.

  4. Укажите параметры хоста:

    • зону доступности;

    • подсеть (если нужной подсети в списке нет, создайте ее);

    • выберите опцию Публичный доступ, если хост должен быть доступен извне Yandex.Cloud;

    • тип хоста и название шарда, если в кластере включено шардирование.

Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы добавить хост в кластере:

  1. Запросите список подсетей кластера, чтобы выбрать подсеть для нового хоста:

    $ yc vpc subnet list
    
    +-----------+-----------+------------+---------------+------------------+
    |     ID    |   NAME    | NETWORK ID |     ZONE      |      RANGE       |
    +-----------+-----------+------------+---------------+------------------+
    | b0cl69... | default-c | enp6rq7... | ru-central1-c | [172.16.0.0/20]  |
    | e2lkj9... | default-b | enp6rq7... | ru-central1-b | [10.10.0.0/16]   |
    | e9b0ph... | a-2       | enp6rq7... | ru-central1-a | [172.16.32.0/20] |
    | e9b9v2... | default-a | enp6rq7... | ru-central1-a | [172.16.16.0/20] |
    +-----------+-----------+------------+---------------+------------------+
    

    Если нужной подсети в списке нет, создайте ее.

  2. Посмотрите описание команды CLI для добавления хостов:

    $ yc managed-mongodb host add --help
    
  3. Выполните команду добавления хоста:

    $ yc managed-mongodb host add
         --cluster-name <имя кластера>
         --host zone-id=<зона доступности>,subnet-id=<ID подсети>
    

    Managed Service for MongoDB запустит операцию добавления хоста.

    Идентификатор подсети необходимо указать, если в зоне доступности больше одной подсети, в противном случае Managed Service for MongoDB автоматически выберет единственную подсеть. Имя кластера можно запросить со списком кластеров в каталоге.

Добавить хост в кластер можно с помощью метода addHosts.

Удалить хост

Вы можете удалить хост MONGOD из MongoDB-кластера, если он не является единственным хостом. Чтобы заменить единственный хост, сначала создайте новый хост, а затем удалите старый.

Если хост является первичным в момент удаления, Managed Service for MongoDB автоматически выберет новую первичную реплику.

Также в кластере с включенным шардированием допустимо удалить хосты MONGOS, MONGOCFG или MONGOINFRA, если их в кластере больше, чем минимальное количество, которое требуется для обеспечения работы шардирования.

Консоль управления
CLI
API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for MongoDB.

  2. Нажмите на имя нужного кластера и выберите вкладку Хосты.

  3. Нажмите значок в строке нужного хоста и выберите пункт Удалить.

Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы удалить хост из кластера, выполните команду:

$ yc managed-mongodb host delete <имя хоста>
     --cluster-name <имя кластера>

Имя хоста можно запросить со списком хостов в кластере, имя кластера — со списком кластеров в каталоге.

Удалить хост можно с помощью метода deleteHosts.

Запустить ресинхронизацию хоста

Чтобы повторно синхронизировать хост с остальными репликами в кластере или шарде Managed Service for MongoDB, выполните операцию принудительной синхронизации. Операция применяется только к одному хосту MONGOD за раз и только для кластеров с более чем двумя репликами, независимо от класса и типа хостов. Ресинхронизация также позволяет освободить хранилище хоста от коллекций и документов, которые помечены как удаленные.

При выполнении этой операции:

  1. Хост перестает принимать запросы на запись. Если хост был первичной репликой (PRIMARY), то Managed Service for MongoDB попытается сделать его вторичной репликой (SECONDARY). В случае неудачи операция прерывается.

  2. Инстанс MongoDB на хосте останавливается, и все данные удаляются.

  3. Инстанс MongoDB снова запускается и заново скачивает данные с хостов-реплик.

  4. После того, как хост синхронизировался другими репликами в кластере, он становится вторичной репликой.

    Примечание

    • Во время синхронизации хост не сможет полноценно отвечать на запросы, так как на нем будет находиться только часть данных кластера Managed Service for MongoDB.
    • Оценочная скорость синхронизации: от 300 Гб в сутки.
CLI

Если у вас еще нет интерфейса командной строки Yandex.Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы запустить принудительную ресинхронизацию хоста, выполните команду:

$ yc managed-mongodb hosts resetup <имя_хоста>
   --cluster-name <имя кластера>

Имя хоста можно запросить со списком хостов в каталоге. Имя кластера можно запросить со списком кластеров в каталоге.

В этой статье:
  • Получить список хостов в кластере
  • Добавить хост
  • Удалить хост
  • Запустить ресинхронизацию хоста
Language
Вакансии
Политика конфиденциальности
Условия использования
© 2021 ООО «Яндекс.Облако»