Техническое обслуживание кластера Yandex MPP Analytics for PostgreSQL
Вы можете управлять техническим обслуживанием кластера Yandex MPP Analytics for PostgreSQL.
Получить список обслуживаний
Для сервиса Yandex MPP Analytics for PostgreSQL можно получить список обслуживаний в:
Получить список обслуживаний в облаке
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Maintenance.List и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/maintenances?cloudId=<идентификатор_облака>'О том, как получить идентификатор облака, в соответствующей инструкции.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом MaintenanceService.List и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/maintenance_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cloud_id": "<идентификатор_облака>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.MaintenanceService.ListО том, как получить идентификатор облака, в соответствующей инструкции.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Получить список обслуживаний в каталоге
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Maintenance.List и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/maintenances?folderId=<идентификатор_каталога>'Идентификатор каталога можно получить со списком каталогов в облаке.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом MaintenanceService.List и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/maintenance_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "folder_id": "<идентификатор_каталога>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.MaintenanceService.ListИдентификатор каталога можно получить со списком каталогов в облаке.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Получить список обслуживаний в кластере
- Перейдите на страницу каталога
. - Перейдите
в сервис Yandex MPP Analytics for PostgreSQL. - Нажмите на имя нужного кластера и выберите вкладку Обслуживание.
- (Опционально) Выберите статус обслуживания над списком обслуживаний.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Maintenance.List и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/maintenances?resourceId=<идентификатор_кластера>'Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом MaintenanceService.List и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/maintenance_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "resource_id": "<идентификатор_кластера>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.MaintenanceService.ListИдентификатор кластера можно получить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Получить информацию об обслуживании
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Maintenance.Get и выполните запрос, например с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/maintenances/<идентификатор_обслуживания>'Идентификатор обслуживания можно получить со списком обслуживаний.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом MaintenanceService.Get и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/maintenance_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "maintenance_id": "<идентификатор_обслуживания>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.MaintenanceService.GetИдентификатор обслуживания можно получить со списком обслуживаний.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Получить логи технического обслуживания кластера
- Перейдите на страницу каталога
. - Перейдите
в сервис Yandex MPP Analytics for PostgreSQL. - Нажмите на имя нужного кластера и выберите вкладку Обслуживание.
- Выберите нужное обслуживание. Откроется страница обслуживания.
- Нажмите ссылку Логи задания.
Перенести запланированное обслуживание
-
Перейдите на страницу каталога
. -
Перейдите
в сервис Yandex MPP Analytics for PostgreSQL. -
Нажмите на имя нужного кластера и выберите вкладку Обслуживание.
-
В строке обслуживания со статусом Запланировано нажмите на значок
и выберите пункт Перенести. -
Выберите тип переноса запланированного обслуживания:
-
На следующее окно — перенос на следующее окно обслуживания.
-
Выбрать дату (UTC) — перенос на конкретную дату и интервал времени по UTC.
Для этого переноса выберите дату и интервал времени по UTC.
От первоначально запланированной даты обслуживание можно перенести:
- Не более чем на два с половиной месяца — для мажорных обновлений версии Greenplum®, например с 6.28.20 до 6.29.8.
- Не более чем на один месяц — для обновлений между минорными версиями Greenplum®, например с 6.29.1 до 6.29.2.
- Не более чем на две недели — для всех остальных видов обслуживания.
-
-
Нажмите кнопку Перенести.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы перенести запланированное обслуживание:
-
Посмотрите описание команды CLI для изменения времени запланированного обслуживания:
yc managed-greenplum cluster reschedule-maintenance --help -
Перенесите обслуживание:
yc managed-greenplum cluster reschedule-maintenance <имя_или_идентификатор_кластера> \ --reschedule-type <тип_переноса>Где
--reschedule-type— тип переноса:-
next-available-window— ближайшее доступное окно обслуживания. -
specific-time— конкретная дата и время по UTC.Для этого значения дополнительно передайте параметр
--delayed-until— временная метка в одном из следующих форматов:- RFC 3339
; - ЧЧ:ММ:СС;
- относительное время, на которое нужно перенести обслуживание.
Примеры:
2006-01-02T15:04:05Z,15:04:05,2h,3h30m ago.От первоначально запланированной даты обслуживание можно перенести:
- Не более чем на два с половиной месяца — для мажорных обновлений версии Greenplum®, например с 6.28.20 до 6.29.8.
- Не более чем на один месяц — для обновлений между минорными версиями Greenplum®, например с 6.29.1 до 6.29.2.
- Не более чем на две недели — для всех остальных видов обслуживания.
- RFC 3339
Имя и идентификатор кластера можно получить со списком кластеров в каталоге.
-
Перенести запланированное обслуживание можно с помощью одного из методов:
Чтобы перенести запланированное обслуживание с помощью метода Cluster.RescheduleMaintenance:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.RescheduleMaintenance и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/clusters/<идентификатор_кластера>:rescheduleMaintenance' \ --data '{ "rescheduleType": "<тип_переноса>" }'Где
rescheduleType— тип переноса:-
NEXT_AVAILABLE_WINDOW— ближайшее доступное окно обслуживания. -
SPECIFIC_TIME— конкретная дата и время по UTC.Для этого значения дополнительно передайте параметр
delayedUntil— временная метка в формате RFC 3339 , например2006-01-02T15:04:05Z.От первоначально запланированной даты обслуживание можно перенести:
- Не более чем на два с половиной месяца — для мажорных обновлений версии Greenplum®, например с 6.28.20 до 6.29.8.
- Не более чем на один месяц — для обновлений между минорными версиями Greenplum®, например с 6.29.1 до 6.29.2.
- Не более чем на две недели — для всех остальных видов обслуживания.
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос выполнен успешно, изучив ответ сервера.
Чтобы перенести запланированное обслуживание с помощью метода Maintenance.Reschedule:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Maintenance.Reschedule и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/maintenances/<идентификатор_обслуживания>:reschedule' \ --data '{ "rescheduleType": "<тип_переноса>" }'Где:
-
<идентификатор_обслуживания>— идентификатор обслуживания, который можно получить со списком обслуживаний. -
rescheduleType— тип переноса:-
NEXT_AVAILABLE_WINDOW— ближайшее доступное окно обслуживания. -
SPECIFIC_TIME— конкретная дата и время по UTC.Для этого значения дополнительно передайте параметр
scheduledAt— временная метка в формате RFC 3339 , например2006-01-02T15:04:05Z.От первоначально запланированной даты обслуживание можно перенести:
- Не более чем на два с половиной месяца — для мажорных обновлений версии Greenplum®, например с 6.28.20 до 6.29.8.
- Не более чем на один месяц — для обновлений между минорными версиями Greenplum®, например с 6.29.1 до 6.29.2.
- Не более чем на две недели — для всех остальных видов обслуживания.
-
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Перенести запланированное обслуживание можно с помощью одного из вызовов:
Чтобы перенести запланированное обслуживание с помощью вызова ClusterService.RescheduleMaintenance:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.RescheduleMaintenance и выполните запрос, например с помощью 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 '{ "cluster_id": "<идентификатор_кластера>", "reschedule_type": "<тип_переноса>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.RescheduleMaintenanceГде
reschedule_type— тип переноса:-
NEXT_AVAILABLE_WINDOW— ближайшее доступное окно обслуживания. -
SPECIFIC_TIME— конкретная дата и время по UTC.Для этого значения дополнительно передайте параметр
delayed_until— временная метка в формате RFC 3339 , например2006-01-02T15:04:05Z.От первоначально запланированной даты обслуживание можно перенести:
- Не более чем на два с половиной месяца — для мажорных обновлений версии Greenplum®, например с 6.28.20 до 6.29.8.
- Не более чем на один месяц — для обновлений между минорными версиями Greenplum®, например с 6.29.1 до 6.29.2.
- Не более чем на две недели — для всех остальных видов обслуживания.
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Чтобы перенести запланированное обслуживание с помощью вызова MaintenanceService.Reschedule:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом MaintenanceService.Reschedule и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/maintenance_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "maintenance_id": "<идентификатор_обслуживания>", "reschedule_type": "<тип_переноса>", "scheduled_at": "<временная_метка>" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.MaintenanceService.RescheduleГде:
-
maintenance_id— идентификатор обслуживания, который можно получить со списком обслуживаний. -
reschedule_type— тип переноса:-
NEXT_AVAILABLE_WINDOW— ближайшее доступное окно обслуживания. -
SPECIFIC_TIME— конкретная дата и время по UTC.Для этого значения дополнительно передайте параметр
scheduled_at— временная метка в формате RFC 3339 , например2006-01-02T15:04:05Z.От первоначально запланированной даты обслуживание можно перенести:
- Не более чем на два с половиной месяца — для мажорных обновлений версии Greenplum®, например с 6.28.20 до 6.29.8.
- Не более чем на один месяц — для обновлений между минорными версиями Greenplum®, например с 6.29.1 до 6.29.2.
- Не более чем на две недели — для всех остальных видов обслуживания.
-
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Провести запланированное обслуживание немедленно
- Перейдите на страницу каталога
. - Перейдите
в сервис Yandex MPP Analytics for PostgreSQL. - Нажмите на имя нужного кластера и выберите вкладку Обслуживание.
- В строке нужного обслуживания нажмите на значок
и выберите пункт Провести сейчас.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
Чтобы провести запланированное обслуживание немедленно:
-
Посмотрите описание команды CLI для изменения времени запланированного обслуживания:
yc managed-greenplum cluster reschedule-maintenance --help -
Проведите запланированное обслуживание немедленно:
yc managed-greenplum cluster reschedule-maintenance <имя_или_идентификатор_кластера> \ --reschedule-type immediateИмя и идентификатор кластера можно получить со списком кластеров в каталоге.
Провести запланированное обслуживание немедленно можно с помощью одного из методов:
Чтобы провести запланированное обслуживание немедленно с помощью метода Cluster.RescheduleMaintenance:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Cluster.RescheduleMaintenance и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/clusters/<идентификатор_кластера>:rescheduleMaintenance' \ --data '{ "rescheduleType": "IMMEDIATE" }'Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Убедитесь, что запрос выполнен успешно, изучив ответ сервера.
Чтобы провести запланированное обслуживание немедленно с помощью метода Maintenance.Reschedule:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Воспользуйтесь методом Maintenance.Reschedule и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/maintenances/<идентификатор_обслуживания>:reschedule' \ --data '{ "rescheduleType": "IMMEDIATE" }'Идентификатор обслуживания можно получить со списком обслуживаний.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Провести запланированное обслуживание немедленно можно с помощью одного из вызовов:
Чтобы провести запланированное обслуживание немедленно с помощью вызова ClusterService.RescheduleMaintenance:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом ClusterService.RescheduleMaintenance и выполните запрос, например с помощью 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 '{ "cluster_id": "<идентификатор_кластера>", "reschedule_type": "IMMEDIATE" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.RescheduleMaintenanceИдентификатор кластера можно получить со списком кластеров в каталоге.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Чтобы провести запланированное обслуживание немедленно с помощью вызова MaintenanceService.Reschedule:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом MaintenanceService.Reschedule и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/greenplum/v1/maintenance_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "maintenance_id": "<идентификатор_обслуживания>", "reschedule_type": "IMMEDIATE" }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.MaintenanceService.RescheduleИдентификатор обслуживания можно получить со списком обслуживаний.
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Настроить окно обслуживания
-
Перейдите на страницу каталога
. -
Перейдите
в сервис Yandex MPP Analytics for PostgreSQL. -
Нажмите на имя нужного кластера и выберите вкладку Обслуживание.
-
В правом верхнем углу страницы нажмите кнопку
Настроить окно обслуживания. -
Выберите окно обслуживания:
-
В любое время — обслуживание проводится в любое время.
-
По расписанию — обслуживание проводится по расписанию, в выбранный день недели и интервал времени по UTC.
Для этого типа обслуживания выберите начало окна обслуживания: день недели и интервал времени по UTC.
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки 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 <имя_или_идентификатор_кластера> \ --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<порядковый_номер_часового_интервала>Где
type— тип технического обслуживания:-
anytime(по умолчанию) — в любое время. -
weekly— по расписанию. Для этого значения дополнительно укажите:-
day— день недели:MON,TUE,WED,THU,FRI,SATилиSUN. -
hour— порядковый номер часового интервала по UTC: от1до24.Например,
1соответствует интервалу с00:00до01:00,5— с04:00до05:00.
-
Имя и идентификатор кластера можно получить со списком кластеров в каталоге.
-
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, читайте в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Yandex MPP Analytics for PostgreSQL вы найдете в документации провайдера Terraform.
-
Чтобы настроить окно технического обслуживания, добавьте к описанию кластера блок
maintenance_window:resource "yandex_mdb_greenplum_cluster" "<локальное_имя_кластера>" { ... maintenance_window { type = "<тип_технического_обслуживания>" day = "<день_недели>" hour = <порядковый_номер_часового_интервала> } ... }Где:
-
type— тип технического обслуживания. Принимает значения:ANYTIME(по умолчанию) — в любое время.WEEKLY— по расписанию.
-
day— день недели для типаWEEKLY:MON,TUE,WED,THU,FRI,SATилиSUN. -
hour— порядковый номер часового интервала по UTC для типаWEEKLY: от1до24.Например,
1соответствует интервалу с00:00до01:00,5— с04:00до05:00.
-
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы 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
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --header "Content-Type: application/json" \ --url 'https://mdb.api.yandexcloud.kz/managed-greenplum/v1/clusters/<идентификатор_кластера>' \ --data '{ "updateMask": "maintenanceWindow", "maintenanceWindow": { "weeklyMaintenanceWindow": { "day": "<день_недели>", "hour": "<порядковый_номер_часового_интервала>" } } }'Где:
-
updateMask— перечень изменяемых параметров в строку через запятую.В этом примере передается только один параметр
maintenanceWindow.Важно
При изменении кластера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask. -
maintenanceWindow— настройки окна технического обслуживания. Передайте один из параметров:-
anytime(по умолчанию) — разрешает проводить техническое обслуживание в любое время.Параметр передается как пустой объект:
"anytime": {}. -
weeklyMaintenanceWindow— техническое обслуживание проводится раз в неделю в указанное время:-
day— день недели:MON,TUE,WED,THU,FRI,SATилиSUN. -
hour— порядковый номер часового интервала по UTC: от1до24.Например,
1соответствует интервалу с00:00до01:00,5— с04:00до05:00.
-
-
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Воспользуйтесь вызовом 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 '{ "cluster_id": "<идентификатор_кластера>", "update_mask": { "paths": [ "maintenance_window" ] }, "maintenance_window": { "weekly_maintenance_window": { "day": "<день_недели>", "hour": "<порядковый_номер_часового_интервала>" } } }' \ mdb.api.yandexcloud.kz:443 \ yandex.cloud.mdb.greenplum.v1.ClusterService.UpdateГде:
-
update_mask— перечень изменяемых параметров в виде массива строкpaths[].Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }В этом примере передается только один параметр
maintenance_window.Важно
При изменении кластера все параметры изменяемого объекта, которые не были явно переданы в запросе, будут переопределены на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask. -
maintenance_window— настройки окна технического обслуживания. Передайте один из параметров:-
anytime(по умолчанию) — разрешает проводить техническое обслуживание в любое время.Параметр передается как пустой объект:
"anytime": {}. -
weekly_maintenance_window— техническое обслуживание проводится раз в неделю в указанное время:-
day— день недели:MON,TUE,WED,THU,FRI,SATилиSUN. -
hour— порядковый номер часового интервала по UTC: от1до24.Например,
1соответствует интервалу с00:00до01:00,5— с04:00до05:00.
-
-
Идентификатор кластера можно получить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.