Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for Greenplum®
  • Начало работы
    • Все инструкции
      • Информация об имеющихся кластерах
      • Создание кластера
      • Расширение кластера
      • Изменение конфигурации кластера
      • Изменение настроек кластера
      • Остановка и запуск кластера
      • Управление резервными копиями
      • Удаление кластера
    • Подключение к базе данных
    • Подключение к внешнему файловому серверу (gpfdist)
    • Вспомогательные утилиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Публичные материалы
  • История изменений
  • Обучающие курсы

В этой статье:

  • Изменить класс хостов
  • Изменить тип диска и увеличить размер хранилища
  • Расширить кластер
  • Изменить зону доступности кластера
  1. Пошаговые инструкции
  2. Кластеры
  3. Изменение конфигурации кластера

Изменение конфигурации кластера Greenplum®

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 24 апреля 2025 г.
  • Изменить класс хостов
  • Изменить тип диска и увеличить размер хранилища
  • Расширить кластер
  • Изменить зону доступности кластера

После создания кластера вы можете:

  • Изменить класс хостов.
  • Изменить тип диска и увеличить размер хранилища.
  • Расширить кластер: добавить хосты-сегменты или увеличить количество сегментов на хост.
  • Изменить зону доступности кластера.

Изменить класс хостовИзменить класс хостов

Вы можете изменить класс как хостов-мастеров, так и хостов-сегментов. При смене класса хостов в кластере сменится первичный хост-мастер.

Важно

Во время изменения класса хостов:

  • Хосты кластера будут недоступны.
  • Пользовательские сессии будут прерваны.
  • Подключение по особому FQDN не гарантирует стабильность соединения с БД.

При изменении класса хостов-сегментов убедитесь, что нового объема памяти в хостах-сегментах достаточно для поддержания количества подключений, указанного в настройке Max connections.

Рекомендуется изменять класс хостов только во время отсутствия рабочей нагрузки на кластер.

Проверьте, что в облаке достаточно квот для изменения класса хостов. Откройте страницу Квоты для облака и убедитесь, что в секции Managed Databases в строках Количество vCPU и Объём виртуальной памяти есть квота на vCPU и виртуальную память, соответственно.

Консоль управления
CLI
Terraform
REST API
gRPC API
  1. Перейдите на страницу каталога и выберите сервис Managed Service for Greenplum.
  2. Выберите кластер и нажмите кнопку Изменить на панели сверху.
  3. В блоке Класс хоста выберите нужный класс для хостов-мастеров или хостов-сегментов Greenplum®.
  4. Нажмите кнопку Сохранить изменения.

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

  1. Посмотрите описание команды CLI для изменения кластера:

    yc managed-greenplum cluster update --help
    
  2. Запросите список доступных классов (в колонке ZONE IDS указаны зоны доступности, в которых можно выбрать соответствующий класс):

    • для хостов-мастеров:

      yc managed-greenplum resource-preset list master
      
    • для хостов-сегментов:

      yc managed-greenplum resource-preset list segment
      
    +-------------+--------------------------------+--------------------------------+-------+----------+--------------------+---------------------+
    |     ID      |            ZONE IDS            |           DISK TYPES           | CORES |  MEMORY  | HOST COUNT DIVIDER | MAX SEGMENT IN HOST |
    +-------------+--------------------------------+--------------------------------+-------+----------+--------------------+---------------------+
    | i2.2xlarge  | ru-central1-a, ru-central1-b   | local-ssd,                     |    16 | 128.0 GB |                  1 |                   0 |
    |             |                                | network-ssd-nonreplicated      |       |          |                    |                     |
    | ...                                                                                                                                         |
    +-------------+--------------------------------+--------------------------------+-------+----------+--------------------+---------------------+
    
  3. Укажите нужные классы в команде изменения кластера:

    yc managed-greenplum cluster update <имя_или_идентификатор_кластера> \
        --master-config resource-id=<идентификатор_класса_хостов-мастеров> \
        --segment-config resource-id=<идентификатор_класса_хостов-сегментов>
    

    Managed Service for Greenplum® запустит операцию изменения класса хостов для кластера.

  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    Как создать такой файл, см. в разделе Создание кластера.

    Полный список доступных для изменения полей конфигурации кластера Managed Service for Greenplum® см. в документации провайдера Terraform.

  2. Измените в описании кластера Managed Service for Greenplum® значение атрибута resource_preset_id в блоке master_subcluster.resources или segment_subcluster.resources:

    resource "yandex_mdb_greenplum_cluster" "<имя_кластера>" {
      ...
      master_subcluster {
        resources {
          resource_preset_id = "<класс_хоста>"
          ...
        }
      }
      segment_subcluster {
        resources {
          resource_preset_id = "<класс_хоста>"
          ...
        }
      }
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Greenplum® 120 минутами.

    Операции, длящиеся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию кластера блок timeouts, например:

    resource "yandex_mdb_greenplum_cluster" "<имя кластера>" {
      ...
      timeouts {
        create = "1h30m" # Полтора часа
        update = "2h"    # 2 часа
        delete = "30m"   # 30 минут
      }
    }
    
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.Update и выполните запрос, например, с помощью cURL:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-greenplum/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "masterConfig.resources.resourcePresetId,segmentConfig.resources.resourcePresetId",
                  "masterConfig": {
                    "resources": {
                      "resourcePresetId": "<класс_хостов>"
                    }
                  },
                  "segmentConfig": {
                    "resources": {
                      "resourcePresetId": "<класс_хостов>"
                    }
                  }
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

    • masterConfig.resources.resourcePresetId, segmentConfig.resources.resourcePresetId — новый класс хостов для хостов-мастеров и хостов-сегментов.

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

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например, с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [ 
                  "master_config.resources.resource_preset_id",
                  "segment_config.resources.resource_preset_id"
                ]
              },
              "master_config": {
                "resources": {
                  "resource_preset_id": "<класс_хостов>"
                }
              },
              "segment_config": {
                "resources": {
                  "resource_preset_id": "<класс_хостов>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.greenplum.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

    • master_config.resources.resource_preset_id, segment_config.resources.resource_preset_id — новый класс хостов для хостов-мастеров и хостов-сегментов.

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

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Изменить тип диска и увеличить размер хранилищаИзменить тип диска и увеличить размер хранилища

Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты для облака и убедитесь, что в секции Managed Databases в строке Объём HDD-хранилищ или Объём SSD-хранилищ есть квота на объем хранилищ.

Важно

Во время изменения типа диска и увеличения размера хранилища:

  • Хосты кластера будут недоступны.
  • Пользовательские сессии будут прерваны.
  • Подключение по особому FQDN не гарантирует стабильность соединения с БД.
Консоль управления
CLI
Terraform
REST API
gRPC API
  1. В консоли управления перейдите в каталог с нужным кластером.

  2. Выберите сервис Managed Service for Greenplum.

  3. Выберите нужный кластер.

  4. В верхней части страницы нажмите кнопку Изменить.

  5. В блоке Хранилище:

    • Выберите тип диска.
    • Укажите нужный размер диска.
  6. Нажмите кнопку Сохранить.

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

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

  1. Посмотрите описание команды CLI для изменения кластера:

    yc managed-greenplum cluster update --help
    
  2. Укажите нужный размер хранилища для хостов-мастеров или хостов-сегментов в команде изменения кластера (размер хранилища должен быть не меньше, чем значение disk_size в свойствах кластера):

    yc managed-mysql cluster update <имя_или_идентификатор_кластера> \
       --master-config disk-size <размер_хранилища_в_гигабайтах> \
       --segment-config disk-size <размер_хранилища_в_гигабайтах>
    
  1. Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.

    Как создать такой файл, см. в разделе Создание кластера.

    Полный список доступных для изменения полей конфигурации кластера Managed Service for Greenplum® см. в документации провайдера Terraform.

  2. Измените в описании кластера Managed Service for Greenplum® значения атрибутов disk_type_id и disk_size в блоке master_subcluster.resources или segment_subcluster.resources:

    resource "yandex_mdb_greenplum_cluster" "<имя_кластера>" {
      ...
      master_subcluster {
        resources {
          disk_type_id = "<тип_диска>"
          disk_size    = <размер_хранилища_в_гигабайтах>
          ...
        }
      }
      segment_subcluster {
        resources {
          disk_type_id = "<тип_диска>"
          disk_size    = <размер_хранилища_в_гигабайтах>
          ...
        }
      }
    }
    
  3. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

    2. Выполните команду:

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  4. Подтвердите изменение ресурсов.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

      Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.

    2. Если вас устраивают планируемые изменения, внесите их:

      1. Выполните команду:

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

    Ограничения по времени

    Провайдер Terraform ограничивает время на выполнение всех операций с кластером Managed Service for Greenplum® 120 минутами.

    Операции, длящиеся дольше указанного времени, прерываются.

    Как изменить эти ограничения?

    Добавьте к описанию кластера блок timeouts, например:

    resource "yandex_mdb_greenplum_cluster" "<имя кластера>" {
      ...
      timeouts {
        create = "1h30m" # Полтора часа
        update = "2h"    # 2 часа
        delete = "30m"   # 30 минут
      }
    }
    
  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Воспользуйтесь методом Cluster.Update и выполните запрос, например, с помощью cURL:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask (одной строкой через запятую).

    curl \
        --request PATCH \
        --header "Authorization: Bearer $IAM_TOKEN" \
        --header "Content-Type: application/json" \
        --url 'https://mdb.api.cloud.yandex.net/managed-greenplum/v1/clusters/<идентификатор_кластера>' \
        --data '{
                  "updateMask": "masterConfig.resources.diskTypeId,masterConfig.resources.diskSize,segmentConfig.resources.diskTypeId,segmentConfig.resources.diskSize",
                  "masterConfig": {
                    "resources": {
                      "diskTypeId": "<тип_диска>",
                      "diskSize": "<размер_хранилища_в_байтах>"
                    }
                  },
                  "segmentConfig": {
                    "resources": {
                      "diskTypeId": "<тип_диска>",
                      "diskSize": "<размер_хранилища_в_байтах>"
                    }
                  }
                }'
    

    Где:

    • updateMask — перечень изменяемых параметров в одну строку через запятую.

    • masterConfig.resources, segmentConfig.resources — параметры хранилища для хостов-мастеров и хостов-сегментов:

      • diskTypeId — тип диска.
      • diskSize — новый размер хранилища в байтах.

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

  3. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

  1. Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:

    export IAM_TOKEN="<IAM-токен>"
    
  2. Клонируйте репозиторий cloudapi:

    cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
    

    Далее предполагается, что содержимое репозитория находится в директории ~/cloudapi/.

  3. Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например, с помощью gRPCurl:

    Важно

    Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре update_mask (в виде массива строк paths[]).

    Формат перечисления настроек
    "update_mask": {
        "paths": [
            "<настройка_1>",
            "<настройка_2>",
            ...
            "<настройка_N>"
        ]
    }
    
    grpcurl \
        -format json \
        -import-path ~/cloudapi/ \
        -import-path ~/cloudapi/third_party/googleapis/ \
        -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/cluster_service.proto \
        -rpc-header "Authorization: Bearer $IAM_TOKEN" \
        -d '{
              "cluster_id": "<идентификатор_кластера>",
              "update_mask": {
                "paths": [ 
                  "master_config.resources.disk_type_id",
                  "master_config.resources.disk_size",
                  "segment_config.resources.disk_type_id",
                  "segment_config.resources.disk_size"
                ]
              },
              "master_config": {
                "resources": {
                  "disk_type_id": "<тип_диска>",
                  "disk_size": "<размер_хранилища_в_байтах>"
                }
              },
              "segment_config": {
                "resources": {
                  "disk_type_id": "<тип_диска>",
                  "disk_size": "<размер_хранилища_в_байтах>"
                }
              }
            }' \
        mdb.api.cloud.yandex.net:443 \
        yandex.cloud.mdb.greenplum.v1.ClusterService.Update
    

    Где:

    • update_mask — перечень изменяемых параметров в виде массива строк paths[].

    • master_config.resources, segment_config.resources — параметры хранилища для хостов-мастеров и хостов-сегментов:

      • disk_type_id — тип диска.
      • disk_size — новый размер хранилища в байтах.

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

  4. Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.

Расширить кластерРасширить кластер

Вы можете добавить хосты-сегменты в кластер Managed Service for Greenplum®, выполнив процедуру расширения кластера. Количество добавляемых хостов не может быть меньше двух. Вы также можете увеличить количество сегментов на хост при расширении кластера.

Изменить зону доступности кластераИзменить зону доступности кластера

Все хосты кластера Managed Service for Greenplum® располагаются в одной зоне доступности Yandex Cloud. Перенести кластер в другую зону доступности нельзя. При необходимости сменить зону доступности восстановите кластер из резервной копии. При восстановлении из резервной копии укажите новую зону доступности в настройках нового кластера.

Для кластеров, хосты которых располагаются в зоне доступности ru-central1-d, недоступно хранилище на локальных SSD-дисках при использовании платформы Intel Cascade Lake.

Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.

Была ли статья полезна?

Предыдущая
Расширение кластера
Следующая
Изменение настроек кластера
Проект Яндекса
© 2025 ООО «Яндекс.Облако»