Изменение настроек кластера Greenplum®
- Изменить имя и описание кластера
- Изменить настройку публичного доступа
- Изменить дополнительные настройки кластера
- Изменить настройки регламентных операций технического обслуживания
- Изменить настройки Greenplum®
- Изменить класс хостов
- Изменить тип диска и увеличить размер хранилища
- Изменить настройку сервисного аккаунта
- Изменить настройки логирования
После создания кластера вы можете:
- Изменить имя и описание кластера.
- Изменить настройку публичного доступа.
- Изменить дополнительные настройки кластера.
- Изменить настройки регламентных операций технического обслуживания.
- Изменить настройки Greenplum® согласно документации Greenplum®.
- Изменить настройки протокола PXF для оптимизации работы с внешними данными.
- Изменить настройки аутентификации в конфигурационном файле pg_hba.conf.
- Изменить настройку сервисного аккаунта
- Изменить настройки логирования
Изменить имя и описание кластера
- Перейдите на страницу каталога
и выберите сервис Yandex MPP Analytics for PostgreSQL. - Выберите кластер и нажмите кнопку Редактировать в верхней части страницы.
- В блоке Базовые параметры задайте новые имя и описание кластера.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить имя и описание кластера Greenplum®:
-
Посмотрите текущие имя (
name) и описание (description) кластера:yc managed-greenplum cluster get <имя_или_идентификатор_кластера> -
Посмотрите описание команды CLI для изменения конфигурации кластера:
yc managed-greenplum cluster update --help -
Задайте новое имя и описание кластера:
yc managed-greenplum cluster update <имя_или_идентификатор_кластера> \ --new-name <новое_имя_кластера> \ --description <новое_описание_кластера>
Внимание
Не изменяйте имя кластера с помощью Terraform. Это приведет к удалению существующего кластера и созданию нового.
Чтобы изменить описание кластера:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Greenplum® см. в документации провайдера Terraform.
-
Измените в описании кластера Greenplum® значение атрибута
description:resource "yandex_mdb_greenplum_cluster" "<имя_кластера>" { name = "<имя_кластера>" description = "<новое_описание_кластера>" ... } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Yandex MPP Analytics for PostgreSQL 120 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts, например:resource "yandex_mdb_greenplum_cluster" "<имя кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } } -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом 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": "name,description", "name": "<новое_имя_кластера>", "description": "<новое_описание_кластера>" }'Где
updateMask— перечень изменяемых параметров в одну строку через запятую.Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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": [ "name", "description" ] }, "name": "<новое_имя_кластера>", "description": "<новое_описание_кластера>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.UpdateГде
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить настройку публичного доступа
- Перейдите на страницу каталога
и выберите сервис Yandex MPP Analytics for PostgreSQL. - Выберите кластер и нажмите кнопку Редактировать в верхней части страницы.
- В блоке Сетевые настройки установите или отключите опцию Публичный доступ.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить настройку публичного доступа Greenplum®:
-
Посмотрите описание команды CLI для изменения конфигурации кластера:
yc managed-greenplum cluster update --help -
Задайте настройку публичного доступа в параметре
--assign-public-ip:yc managed-greenplum cluster update <имя_или_идентификатор_кластера> \ --assign-public-ip=<разрешить_публичный_доступ_к_кластеру>Где
assign-public-ip— публичный доступ к кластеру:trueилиfalse.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом 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": "config.assignPublicIp", "config": { "assignPublicIp": <разрешить_публичный_доступ_к_хостам_кластера> } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.В данном случае передается только один параметр.
-
assignPublicIp— публичный доступ к хостам кластера:trueилиfalse.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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": [ "config.assign_public_ip" ] }, "config": { "assign_public_ip": <разрешить_публичный_доступ_к_хостам_кластера> } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].В данном случае передается только один параметр.
-
assign_public_ip— публичный доступ к хостам кластера:trueилиfalse.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Совет
Если вы включили публичный доступ к кластеру, но подключение через интернет не срабатывает:
- Проверьте настройки групп безопасности.
- Подождите некоторое время. Включение публичного доступа иногда вступает в силу не сразу.
Изменить дополнительные настройки кластера
-
Перейдите на страницу каталога и выберите сервис Yandex MPP Analytics for PostgreSQL.
-
Выберите кластер и нажмите кнопку Редактировать на панели сверху.
-
Измените дополнительные настройки кластера:
-
Начало резервного копирования (UTC) — промежуток времени, в течение которого начинается резервное копирование кластера. Время указывается по UTC в 24-часовом формате. По умолчанию —
22:00 - 23:00UTC. -
Окно обслуживания — настройки времени технического обслуживания:
- Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
- Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.
Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.
-
Доступ из DataLens — опция разрешает анализировать данные из кластера в сервисе Yandex DataLens.
-
Доступ из Yandex Query — опция разрешает выполнять YQL-запросы из сервиса Yandex Query к управляемой базе данных Yandex MPP Analytics for PostgreSQL.
-
Доступ из WebSQL — опция разрешает отправлять запросы к базам данных в кластере с помощью сервиса Yandex WebSQL.
-
Защита от удаления — управляет защитой кластера от непреднамеренного удаления.
Включенная защита кластера от удаления не помешает подключиться к нему вручную и удалить данные.
-
Гибридное хранилище — включает гибридное хранилище.
Гибридное хранилище нельзя отключить после сохранения настроек кластера.
Когда гибридное хранилище включено, с помощью расширения Yezzey можно переместить часть таблиц AO и AOCO из хранилища кластера в холодное хранилище и наоборот.
Холодное хранилище удобно, если данные таблиц нужно хранить долго, а работать с ними планируется редко. Так хранение будет дешевле.
Примечание
Функциональность находится на стадии Preview и не тарифицируется.
-
Менеджер подключений — режим работы и параметры менеджера подключений:
- Режим —
SESSION(сессионный) илиTRANSACTION(транзакционный, по умолчанию). - Размер — количество клиентских соединений. По умолчанию —
0(не ограничено). - Тайм-аут ожидания клиента — время неактивности клиентского соединения в секундах, после которого соединение разрывается. По умолчанию —
28800.
- Режим —
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить дополнительные настройки кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-greenplum cluster update --help -
Выполните команду, передав список настроек, которые хотите изменить:
yc managed-greenplum cluster update <имя_или_идентификатор_кластера> \ --backup-window-start <время_начала_резервного_копирования> \ --datalens-access=<разрешить_доступ_из_DataLens> \ --yandexquery-access=<разрешить_доступ_из_Yandex_Query> \ --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<час_дня> \ --websql-access=<разрешить_доступ_из_WebSQL> \ --deletion-protection
Вы можете изменить следующие настройки:
--backup-window-start— время начала резервного копирования кластера, задается по UTC в форматеHH:MM:SS. Если время не задано, резервное копирование начнется в 22:00 UTC.
-
--datalens-access— доступ к кластеру из сервиса Yandex DataLens:trueилиfalse. -
--yandexquery-access— доступ к кластеру из сервиса Yandex Query:trueилиfalse. -
--websql-access— разрешает выполнять SQL-запросы к базам данных кластера из консоли управления Yandex Cloud с помощью сервиса Yandex WebSQL. Значение по умолчанию —false. -
--maintenance-window— настройки времени технического обслуживания (в т. ч. для выключенных кластеров), гдеtype— тип технического обслуживания:anytime(по умолчанию) — в любое время.weekly— по расписанию. Для этого значения дополнительно укажите:day— день недели:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC: от1до24.
-
--deletion-protection— защита кластера от непреднамеренного удаления:trueилиfalse.Включенная защита кластера от удаления не помешает подключиться к нему вручную и удалить данные.
Имя кластера можно получить со списком кластеров в каталоге.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Greenplum® см. в документации провайдера Terraform.
-
Измените в описании кластера Greenplum® значения нужных дополнительных настроек:
resource "yandex_mdb_greenplum_cluster" "<имя_кластера>" { ... backup_window_start { hours = <начало_периода_резервного_копирования> } maintenance_window { type = <тип_технического_обслуживания> day = <день_недели> hour = <час_дня> } access { data_lens = <разрешить_доступ_из_DataLens> yandex_query = <разрешить_доступ_из_Yandex_Query> } deletion_protection = <защитить_кластер_от_удаления> cloud_storage { enable = <использовать_гибридное_хранилище> } pooler_config { pooling_mode = <режим_работы> pool_size = <размер> pool_client_idle_timeout = <время_ожидания_клиента> } }Вы можете изменить следующие настройки:
-
backup_window_start.hours— начало периода, в течение которого начинается резервное копирование кластера. Задается по UTC в форматеHH: от0до23. -
maintenance_window— настройки времени технического обслуживания (в т. ч. для выключенных кластеров):type— тип технического обслуживания. Принимает значения:ANYTIME— в любое время.WEEKLY— по расписанию.
day— день недели для типаWEEKLYв форматеDDD. Например,MON.hour— час дня по UTC для типаWEEKLYв форматеHH. Например,21.
-
access.data_lens— доступ к кластеру из сервиса Yandex DataLens:trueилиfalse. -
access.yandex_query— доступ к кластеру из сервиса Yandex Query:trueилиfalse. -
deletion_protection— защита кластера от непреднамеренного удаления:trueилиfalse.Включенная защита кластера от удаления не помешает подключиться к нему вручную и удалить данные.
-
cloud_storage.enable— использование гибридного хранилища.Установите значение
true, чтобы включить гибридное хранилище. Гибридное хранилище нельзя отключить после сохранения настроек кластера.Когда гибридное хранилище включено, с помощью расширения Yezzey можно переместить часть таблиц AO и AOCO из хранилища кластера в холодное хранилище и наоборот.
Холодное хранилище удобно, если данные таблиц нужно хранить долго, а работать с ними планируется редко. Так хранение будет дешевле.
Примечание
Функциональность находится на стадии Preview и не тарифицируется.
-
pooler_config— настройки менеджера подключений:pooling_mode— режим работы:SESSIONилиTRANSACTION.pool_size— количество клиентских соединений.pool_client_idle_timeout— время неактивности клиентского соединения в секундах, после которого соединение разрывается.
-
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Yandex MPP Analytics for PostgreSQL 120 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts, например:resource "yandex_mdb_greenplum_cluster" "<имя кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } } -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask(одной строкой через запятую).{ "updateMask": "config.backupWindowStart,config.access.dataLens,config.access.yandexQuery,maintenanceWindow,deletionProtection,configSpec.pool.mode,configSpec.pool.size,configSpec.pool.clientIdleTimeout,cloudStorage", "config": { "backupWindowStart": { "hours": "<часы>", "minutes": "<минуты>", "seconds": "<секунды>", "nanos": "<наносекунды>" }, "access": { "dataLens": <разрешить_доступ_из_DataLens>, "yandexQuery": <разрешить_доступ_из_Yandex_Query> } }, "maintenanceWindow": { "weeklyMaintenanceWindow": { "day": "<день_недели>", "hour": "<час>" } }, "deletionProtection": <защитить_кластер_от_удаления>, "configSpec": { "pool": { "mode": "<режим_работы>", "size": "<количество_клиентских_соединений>", "clientIdleTimeout": "<время_ожидания_клиента>" } }, "cloudStorage": { "enable": <использовать_гибридное_хранилище> } }Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую. -
config— настройки кластера:-
backupWindowStart— настройки окна резервного копирования.В параметре укажите время, когда начинать резервное копирование:
hours— от0до23часов;minutes— от0до59минут;seconds— от0до59секунд;nanos— от0до999999999наносекунд.
-
access— настройки доступа кластера к следующим сервисам Yandex Cloud:dataLens— Yandex DataLens:trueилиfalse.yandexQuery— Yandex Query:trueилиfalse.
-
-
maintenanceWindow— настройки времени технического обслуживания (в т. ч. для выключенных кластеров). Передайте один из двух параметров:-
anytime— техническое обслуживание происходит в любое время. -
weeklyMaintenanceWindow— техническое обслуживание происходит раз в неделю, в указанное время:day— день недели в форматеDDD:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC от1до24.
-
-
deletionProtection— защита кластера от непреднамеренного удаления:trueилиfalse.Включенная защита кластера от удаления не помешает подключиться к нему вручную и удалить данные.
-
configSpec.pool— настройки менеджера подключений:mode— режим работы:SESSIONилиTRANSACTION.size— количество клиентских соединений.clientIdleTimeout— время неактивности клиентского соединения в секундах, после которого соединение разрывается.
-
cloudStorage.enable— использование гибридного хранилища в кластерах с версией Greenplum® 6.25 и выше. Установите значениеtrue, чтобы включить в кластере расширение Yezzey от Yandex Cloud. Оно применяется, чтобы выгрузить таблицы AO и AOCO с дисков кластера Greenplum® в холодное хранилище Yandex Object Storage. Так данные хранятся в служебном бакете в сжатом и зашифрованном виде. Это более экономичный способ хранения.Гибридное хранилище нельзя отключить после сохранения настроек кластера.
Примечание
Функциональность находится на стадии Preview и не тарифицируется.
-
-
Воспользуйтесь методом Cluster.Update и выполните запрос, например, с помощью cURL
: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 "@body.json"Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask(в виде массива строкpaths[]).Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }{ "cluster_id": "<идентификатор_кластера>" "update_mask": { "paths": [ "config.backup_window_start", "config.access.data_lens", "config.access.yandex_query", "maintenance_window", "deletion_protection", "config_spec.pool.mode", "config_spec.pool.size", "config_spec.pool.client_idle_timeout", "cloud_storage" ] }, "config": { "backup_window_start": { "hours": "<часы>", "minutes": "<минуты>", "seconds": "<секунды>", "nanos": "<наносекунды>" }, "access": { "data_lens": <разрешить_доступ_из_DataLens>, "yandex_query": <разрешить_доступ_из_Yandex_Query> } }, "maintenance_window": { "weekly_maintenance_window": { "day": "<день_недели>", "hour": "<час>" } }, "deletion_protection": <защитить_кластер_от_удаления>, "config_spec": { "pool": { "mode": "<режим_работы>", "size": "<количество_клиентских_соединений>", "client_idle_timeout": "<время_ожидания_клиента>" } }, "cloud_storage": { "enable": <использовать_гибридное_хранилище> } }Где:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[]. -
config— настройки кластера:-
backup_window_start— настройки окна резервного копирования.В параметре укажите время, когда начинать резервное копирование:
hours— от0до23часов;minutes— от0до59минут;seconds— от0до59секунд;nanos— от0до999999999наносекунд.
-
access— настройки доступа кластера к следующим сервисам Yandex Cloud:data_lens— Yandex DataLens:trueилиfalse.yandex_query— Yandex Query:trueилиfalse.
-
-
maintenance_window— настройки времени технического обслуживания (в т. ч. для выключенных кластеров). Передайте один из двух параметров:-
anytime— техническое обслуживание происходит в любое время. -
weekly_maintenance_window— техническое обслуживание происходит раз в неделю, в указанное время:day— день недели в форматеDDD:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC от1до24.
-
-
deletion_protection— защита кластера от непреднамеренного удаления:trueилиfalse.Включенная защита кластера от удаления не помешает подключиться к нему вручную и удалить данные.
-
config_spec.pool— настройки менеджера подключений:mode— режим работы:SESSIONилиTRANSACTION.size— количество клиентских соединений.client_idle_timeout— время неактивности клиентского соединения в секундах, после которого соединение разрывается.
-
cloud_storage.enable— использование гибридного хранилища в кластерах с версией Greenplum® 6.25 и выше. Установите значениеtrue, чтобы включить в кластере расширение Yezzey от Yandex Cloud. Оно применяется, чтобы выгрузить таблицы AO и AOCO с дисков кластера Greenplum® в холодное хранилище Yandex Object Storage. Так данные хранятся в служебном бакете в сжатом и зашифрованном виде. Это более экономичный способ хранения.Гибридное хранилище нельзя отключить после сохранения настроек кластера.
Примечание
Функциональность находится на стадии Preview и не тарифицируется.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Воспользуйтесь вызовом ClusterService.Update и выполните запрос, например, с помощью gRPCurl
: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 @ \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.Update \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить настройки регламентных операций технического обслуживания
Вы можете изменить настройки регламентных операций технического обслуживания вашего кластера.
-
Перейдите на страницу каталога и выберите сервис Yandex MPP Analytics for PostgreSQL.
-
Выберите кластер и нажмите кнопку Редактировать на панели сверху.
-
В блоке Управление фоновыми процессами измените параметры:
- Время старта (UTC) — время, в которое начнется выполнение операции
VACUUM. По умолчанию —19:00 UTC. После завершения операцииVACUUMзапустится операцияANALYZE. - Таймаут VACUUM — максимальная длительность выполнения операции
VACUUM, в секундах. Возможные значения: от7200до86399, по умолчанию —36000. Когда указанное время истечет, операцияVACUUMбудет принудительно завершена. - Таймаут ANALYZE — максимальная длительность выполнения операции
ANALYZE, в секундах. Возможные значения: от7200до86399, по умолчанию —36000. Когда указанное время истечет, операцияANALYZEбудет принудительно завершена.
Суммарная длительность операций
VACUUMиANALYZEне может превышать 24 часа. - Время старта (UTC) — время, в которое начнется выполнение операции
-
Нажмите кнопку Сохранить.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом 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": "configSpec.backgroundActivities.analyzeAndVacuum.start,configSpec.backgroundActivities.analyzeAndVacuum.analyzeTimeout,configSpec.backgroundActivities.analyzeAndVacuum.vacuumTimeout", "configSpec": { "backgroundActivities": { "analyzeAndVacuum": { "start": { "hours": "<час_начала_операции>", "minutes": "<минута_начала_операции>" }, "analyzeTimeout": "<длительность_выполнения_операции_ANALYZE>", "vacuumTimeout": "<длительность_выполнения_операции_VACUUM>" } } } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую. -
configSpec.backgroundActivities.analyzeAndVacuum— настройки управления фоновыми процессами:start.hours— час начала операцииVACUUMпо UTC. Возможные значения: от0до23, по умолчанию —19.start.minutes— минута начала операцииVACUUMпо UTC. Возможные значения: от0до59, по умолчанию —0.analyzeTimeout— максимальная длительность выполнения операцииANALYZE, в секундах. Возможные значения: от7200до86399, по умолчанию —36000. Когда указанное время истечет, операцияANALYZEбудет принудительно завершена.vacuumTimeout— максимальная длительность выполнения операцииVACUUM, в секундах. Возможные значения: от7200до86399, по умолчанию —36000. Когда указанное время истечет, операцияVACUUMбудет принудительно завершена.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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": [ "config_spec.background_activities.analyze_and_vacuum.start", "config_spec.background_activities.analyze_and_vacuum.analyze_timeout", "config_spec.background_activities.analyze_and_vacuum.vacuumTimeout" ] }, "config_spec": { "background_activities": { "analyze_and_vacuum": { "start": { "hours": "<час_начала_операции>", "minutes": "<минута_начала_операции>" }, "analyze_timeout": "<длительность_выполнения_операции_ANALYZE>", "vacuum_timeout": "<длительность_выполнения_операции_VACUUM>" } } } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[]. -
config_spec.background_activities.analyze_and_vacuum— настройки управления фоновыми процессами:start.hours— час начала операцииVACUUMпо UTC. Возможные значения: от0до23, по умолчанию —19.start.minutes— минута начала операцииVACUUMпо UTC. Возможные значения: от0до59, по умолчанию —0.analyze_timeout— максимальная длительность выполнения операцииANALYZE, в секундах. Возможные значения: от7200до86399, по умолчанию —36000. Когда указанное время истечет, операцияANALYZEбудет принудительно завершена.vacuum_timeout— максимальная длительность выполнения операцииVACUUM, в секундах. Возможные значения: от7200до86399, по умолчанию —36000. Когда указанное время истечет, операцияVACUUMбудет принудительно завершена.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить настройки Greenplum®
Вы можете изменить глобальные настройки СУБД вашего кластера. Перечень доступных для изменения настроек см. в разделе Настройки Greenplum®.
Примечание
Для изменения настроек на уровне пользователя, в том числе тех, которые не управляются сервисом Yandex MPP Analytics for PostgreSQL на уровне кластера, используйте команду:
ALTER ROLE <имя_роли> SET <настройка> = <значение>;
Для изменения настроек на уровне отдельной базы данных используйте команду:
ALTER DATABASE <имя_базы_данных> SET <настройка> = <значение>;
Полный список настроек см. в документации Greenplum®
- Перейдите на страницу каталога и выберите сервис Yandex MPP Analytics for PostgreSQL.
- Выберите кластер и нажмите кнопку Редактировать на панели сверху.
- Измените настройки Greenplum®, нажав кнопку Настроить в блоке Настройки СУБД.
- Нажмите кнопку Сохранить.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить настройки СУБД Greenplum®:
-
Посмотрите полный список настроек, установленных для кластера:
yc managed-greenplum cluster get <имя_или_идентификатор_кластера> -
Посмотрите описание команды CLI для изменения конфигурации кластера:
yc managed-greenplum cluster update-config --help -
Установите нужные значения параметров:
Все поддерживаемые параметры перечислены в формате запроса для метода update, в поле
greenplumConfig_<версия_Greenplum>. Чтобы указать имя параметра в вызове CLI, преобразуйте его имя из видаlowerCamelCase
вsnake_case
, например, параметрmaxConnectionsиз запроса к API преобразуется вmax_connectionsдля команды CLI:yc managed-greenplum cluster update-config <имя_или_идентификатор_кластера> \ --set <имя_параметра1>=<значение1>,<имя_параметра2>=<значение2>,...Yandex MPP Analytics for PostgreSQL запустит операцию по изменению настроек кластера.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Greenplum® см. в документации провайдера Terraform.
-
Измените в описании кластера настройки Greenplum® в блоке
greenplum_config:resource "yandex_mdb_greenplum_cluster" "<имя_кластера>" { ... greenplum_config = { max_connections = <максимальное_количество_соединений> gp_workfile_compression = <true_или_false> ... } } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Yandex MPP Analytics for PostgreSQL 120 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts, например:resource "yandex_mdb_greenplum_cluster" "<имя кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } } -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом 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": "configSpec.greenplumConfig_<версия_Greenplum®>.<настройка_1>,...,configSpec.greenplumConfig_<версия_Greenplum®>.<настройка_N>", "configSpec": { "greenplumConfig_<версия_Greenplum®>": { "<настройка_1>": "<значение_1>", "<настройка_2>": "<значение_2>", ... "<настройка_N>": "<значение_N>" } } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.В данном случае перечислите все изменяемые настройки Greenplum®.
-
configSpec.greenplumConfig_<версия_Greenplum®>— набор настроек Greenplum®. Укажите каждую настройку на отдельной строке через запятую.Список версий Greenplum®, доступных для параметра, см. в описании метода. Описание и возможные значения настроек см. в разделе Настройки СУБД уровня кластера.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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": [ "config_spec.greenplum_config_<версия_Greenplum®>.<настройка_1>", "config_spec.greenplum_config_<версия_Greenplum®>.<настройка_2>", ... "config_spec.greenplum_config_<версия_Greenplum®>.<настройка_N>" ] }, "config_spec": { "greenplum_config_<версия_Greenplum®>": { "<настройка_1>": "<значение_1>", "<настройка_2>": "<значение_2>", ... "<настройка_N>": "<значение_N>" } } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].В данном случае перечислите все изменяемые настройки Greenplum®.
-
config_spec.greenplum_config_<версия_Greenplum®>— набор настроек Greenplum®. Укажите каждую настройку на отдельной строке через запятую.Список версий Greenplum®, доступных для параметра, см. в описании метода. Описание и возможные значения настроек см. в разделе Настройки Greenplum®.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить класс хостов
Вы можете изменить класс как хостов-мастеров, так и хостов-сегментов. При смене класса хостов:
- В кластере сменится первичный хост-мастер.
- Подключение по особому FQDN не гарантирует стабильность соединения с БД: пользовательские сессии могут быть прерваны.
Изменение класса хостов-сегментов влияет на максимальный объем памяти, выделенный на каждый серверный процесс Greenplum®.
Рекомендуется изменять класс хостов только во время отсутствия рабочей нагрузки на кластер.
- Перейдите на страницу каталога и выберите сервис Yandex MPP Analytics for PostgreSQL.
- Выберите кластер и нажмите кнопку
Редактировать на панели сверху. - В блоке Класс хоста выберите нужный класс для хостов-мастеров или хостов-сегментов Greenplum®.
- Нажмите кнопку Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить класс хостов для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-greenplum cluster update --help -
Запросите список доступных классов (в колонке
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 | | | | | | ... | +-------------+--------------------------------+--------------------------------+-------+----------+--------------------+---------------------+ -
-
Укажите нужные классы в команде изменения кластера:
yc managed-greenplum cluster update <имя_или_идентификатор_кластера> \ --master-config resource-id=<идентификатор_класса_хостов-мастеров> \ --segment-config resource-id=<идентификатор_класса_хостов-сегментов>Yandex MPP Analytics for PostgreSQL запустит операцию изменения класса хостов для кластера.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Greenplum® см. в документации провайдера Terraform.
-
Измените в описании кластера 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 = "<класс_хоста>" ... } } } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Yandex MPP Analytics for PostgreSQL 120 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts, например:resource "yandex_mdb_greenplum_cluster" "<имя кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } } -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом 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— новый класс хостов для хостов-мастеров и хостов-сегментов.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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— новый класс хостов для хостов-мастеров и хостов-сегментов.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить тип диска и увеличить размер хранилища
Проверьте, что в облаке достаточно квот для увеличения хранилища. Откройте страницу Квоты
Чтобы изменить тип диска и увеличить размер хранилища для кластера:
-
В консоли управления
перейдите в каталог с нужным кластером. -
Выберите сервис Yandex MPP Analytics for PostgreSQL.
-
Выберите нужный кластер.
-
В верхней части страницы нажмите кнопку Редактировать.
-
В блоке Хранилище:
- Выберите тип диска.
- Укажите нужный размер диска.
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы увеличить размер хранилища для кластера:
-
Посмотрите описание команды CLI для изменения кластера:
yc managed-greenplum cluster update --help -
Укажите нужный размер хранилища для хостов-мастеров или хостов-сегментов в команде изменения кластера (размер хранилища должен быть не меньше, чем значение
disk_sizeв свойствах кластера):yc managed-mysql cluster update <имя_или_идентификатор_кластера> \ --master-config disk-size <размер_хранилища_в_гигабайтах> \ --segment-config disk-size <размер_хранилища_в_гигабайтах>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Greenplum® см. в документации провайдера Terraform.
-
Измените в описании кластера 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 = <размер_хранилища_в_гигабайтах> ... } } } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Yandex MPP Analytics for PostgreSQL 120 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts, например:resource "yandex_mdb_greenplum_cluster" "<имя кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } } -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом 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— новый размер хранилища в байтах.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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— новый размер хранилища в байтах.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить настройку сервисного аккаунта
- В консоли управления
перейдите в каталог с нужным кластером. - Выберите сервис Yandex MPP Analytics for PostgreSQL.
- Выберите нужный кластер.
- В верхней части страницы нажмите кнопку Редактировать.
- В поле Сервисный аккаунт выберите сервисный аккаунт из списка или создайте новый.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить идентификатор сервисного аккаунта кластера:
-
Посмотрите описание команды CLI для изменения конфигурации кластера:
yc managed-greenplum cluster update --help -
Укажите идентификатор нужного сервисного аккаунта:
yc managed-greenplum cluster update <имя_или_идентификатор_кластера> \ --service-account <идентификатор_сервисного_аккаунта>
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Greenplum® см. в документации провайдера Terraform.
-
Измените в описании кластера Greenplum® значение атрибута
service_account_id:resource "yandex_mdb_greenplum_cluster" "<имя_кластера>" { service_account_id = "<идентификатор_сервисного_аккаунта>" ... } -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Yandex MPP Analytics for PostgreSQL 120 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts, например:resource "yandex_mdb_greenplum_cluster" "<имя кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } } -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом 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": "serviceAccountId", "serviceAccountId": "<идентификатор_сервисного_аккаунта>" }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую.В данном случае передается только один параметр.
-
serviceAccountId— идентификатор сервисного аккаунта.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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": [ "service_account_id" ] }, "service_account_id": "<идентификатор_сервисного_аккаунта>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].В данном случае передается только один параметр.
-
service_account_id— идентификатор сервисного аккаунта.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Изменить настройки логирования
Вы можете изменить настройки передачи логов кластера в Yandex Cloud Logging.
-
В консоли управления
перейдите в каталог с нужным кластером. -
Выберите сервис Yandex MPP Analytics for PostgreSQL.
-
Выберите нужный кластер.
-
В верхней части страницы нажмите кнопку Редактировать.
-
В блоке Дополнительные настройки включите или выключите логирование с помощью опции Запись логов. Если вы включили логирование, настройте его параметры:
-
Укажите место записи логов:
- Каталог — логи будут записываться в лог-группу по умолчанию выбранного каталога.
- Группа — логи будут записываться в новую или выбранную из списка лог-группу.
-
Выберите, какие логи записывать:
- Логи командного центра — опция включает запись логов командного центра.
- Логи Greenplum — опция включает запись логов Greenplum®.
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы изменить настройки логирования:
-
Посмотрите описание команды CLI для изменения конфигурации кластера:
yc managed-greenplum cluster update --help -
Укажите настройки логирования, которые вы хотите изменить, в команде изменения кластера:
yc managed-greenplum cluster update <имя_или_идентификатор_кластера> \ --log-enabled \ --log-command-center-enabled \ --log-greenplum-enabled \ --log-pooler-enabled \ --log-folder-id <идентификатор_каталога>Где:
-
--log-enabled— включает механизм передачи логов. Обязателен для работы других флагов, отвечающих за передачу конкретных логов, например,--log-greenplum-enabled. -
--log-command-center-enabled— передача логов командного центра. -
--log-greenplum-enabled— передача логов Greenplum®. -
--log-pooler-enabled— передача логов менеджера подключений. -
--log-folder-id— идентификатор каталога, лог-группу которого нужно использовать. -
--log-group-id— идентификатор лог-группы, в которую будут записываться логи.Укажите только одну из настроек:
--log-folder-idлибо--log-group-id.
-
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Greenplum® см. в документации провайдера Terraform.
-
Измените в описании кластера Greenplum® значения атрибутов в блоке
logging:resource "yandex_mdb_greenplum_cluster" "<имя_кластера>" { ... logging { enabled = <включить_передачу_логов> command_center_enabled = <передавать_логи_Yandex_Command_Center> greenplum_enabled = <передавать_логи_Greenplum®> pooler_enabled = <передавать_логи_менеджера_подключений> folder_id = "<идентификатор_каталога>" } }Где:
-
enabled— управляет механизмом передачи логов:trueилиfalse. Для работы параметров, отвечающих за передачу конкретных логов, передайте значениеtrue. -
command_center_enabled— передача логов командного центра:trueилиfalse. -
greenplum_enabled— передача логов Greenplum®:trueилиfalse. -
pooler_enabled— передача логов менеджера подключений:trueилиfalse. -
folder_id— идентификатор каталога, лог-группу которого нужно использовать. -
log_group_id— идентификатор лог-группы, в которую будут записываться логи.Укажите только одну из настроек:
folder_idлибоlog_group_id.
-
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение всех операций с кластером Yandex MPP Analytics for PostgreSQL 120 минутами.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts, например:resource "yandex_mdb_greenplum_cluster" "<имя кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } } -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом 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": "logging.enabled,logging.commandCenterEnabled,logging.greenplumEnabled,logging.poolerEnabled,logging.folderId", "logging": { "enabled": "<включить_передачу_логов>", "commandCenterEnabled": "<передавать_логи_Yandex_Command_Center>", "greenplumEnabled": "<передавать_логи_Greenplum®>", "poolerEnabled": "<передавать_логи_менеджера_подключений>", "folderId": "<идентификатор_каталога>" } }'Где:
-
updateMask— перечень изменяемых параметров в одну строку через запятую. -
logging— настройки логирования:-
enabled— управляет механизмом передачи логов:trueилиfalse. Для работы параметров, отвечающих за передачу конкретных логов, передайте значениеtrue. -
commandCenterEnabled— передача логов командного центра:trueилиfalse. -
greenplumEnabled— передача логов Greenplum®:trueилиfalse. -
poolerEnabled— передача логов менеджера подключений:trueилиfalse. -
folderId— идентификатор каталога, лог-группу которого нужно использовать. -
logGroupId— идентификатор лог-группы, в которую будут записываться логи.Укажите только одну из настроек:
folderIdлибоlogGroupId.
-
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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": [ "logging.enabled", "logging.command_center_enabled", "logging.greenplum_enabled", "logging.pooler_enabled", "logging.folder_id" ] }, "logging": { "enabled": "<включить_передачу_логов>", "command_center_enabled": "<передавать_логи_Yandex_Command_Center>", "greenplum_enabled": "<передавать_логи_Greenplum®>", "pooler_enabled": "<передавать_логи_менеджера_подключений>", "folder_id": "<идентификатор_каталога>" } }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[]. -
logging— настройки логирования:-
enabled— управляет механизмом передачи логов:trueилиfalse. Для работы параметров, отвечающих за передачу конкретных логов, передайте значениеtrue. -
command_center_enabled— передача логов командного центра:trueилиfalse. -
greenplum_enabled— передача логов Greenplum®:trueилиfalse. -
pooler_enabled— передача логов менеджера подключений:trueилиfalse. -
folder_id— идентификатор каталога, лог-группу которого нужно использовать. -
log_group_id— идентификатор лог-группы, в которую будут записываться логи.Укажите только одну из настроек:
folder_idлибоlog_group_id.
-
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах.