Создание кластера Trino
Каждый кластер Managed Service for Trino состоит из набора компонентов Trino: координатора и воркеров, которые могут быть представлены в нескольких экземплярах.
Роли для создания кластера
Для создания кластера Managed Service for Trino вашему аккаунту в Yandex Cloud нужны роли:
- managed-trino.admin — чтобы создать кластер;
- vpc.user — чтобы работать с сетью кластера;
- iam.serviceAccounts.user — чтобы привязать сервисный аккаунт к кластеру.
Сервисному аккаунту кластера должны быть назначены роли managed-trino.integrationProvider и storage.editor. Это даст кластеру нужные права для работы с пользовательскими ресурсами. Подробнее см. в разделе Имперсонация.
О назначении ролей читайте в документации Yandex Identity and Access Management.
Создать кластер
-
В консоли управления
выберите каталог, в котором нужно создать кластер Managed Service for Trino. -
Выберите сервис Managed Service for Trino.
-
Нажмите кнопку Создать кластер.
-
В блоке Базовые параметры:
-
Задайте имя кластера. Имя должно быть уникальным в рамках каталога.
-
(Опционально) Введите описание кластера.
-
(Опционально) Создайте метки:
- Нажмите кнопку Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите Enter.
-
Выберите существующий сервисный аккаунт или создайте новый.
Сервисному аккаунту должны быть назначены роли
managed-trino.integrationProviderиstorage.editor. -
Выберите версию Trino.
Примечание
После создания кластера вы можете изменить версию Trino. Версию можно как повысить, так и понизить.
-
-
В блоке Сетевые настройки выберите сеть, подсеть и группу безопасности для кластера.
-
В блоке Политика перезапросов задайте параметры отказоустойчивого выполнения запросов:
- Выберите Тип объекта для перезапроса:
- Задача — в рамках запроса повторно выполняется промежуточное задание, вызвавшее сбой воркера.
- Запрос — повторно выполняются все этапы запроса, в котором произошел сбой воркера.
- (Опционально) В поле Параметры перезапросов задайте дополнительные параметры в формате
ключ: значение. Подробнее о параметрах см. в документации Trino . - (Опционально) В поле Параметры хранилища задайте дополнительные параметры хранилища Exchange Manager в формате
ключ: значение. Подробнее о параметрах см. в документации Trino .
- Выберите Тип объекта для перезапроса:
-
Задайте конфигурацию координатора и воркеров.
-
В блоке Каталоги добавьте необходимые каталоги Trino. Вы можете сделать это как при создании кластера, так и позже. Подробнее см. в разделе Создание каталога Trino.
-
В блоке Дополнительные настройки:
-
(Опционально) Включите защиту от удаления кластера.
-
(Опционально) Выберите время технического обслуживания кластера:
- Чтобы разрешить проведение технического обслуживания в любое время, выберите пункт произвольное (по умолчанию).
- Чтобы указать предпочтительное время начала обслуживания, выберите пункт по расписанию и укажите нужные день недели и час дня по UTC. Например, можно выбрать время, когда кластер наименее загружен.
Операции по техническому обслуживанию проводятся для включенных и выключенных кластеров. Они могут включать в себя: обновление СУБД, применение патчей и так далее.
-
(Опционально) Задайте параметры TLS.
Managed Service for Trino будет использовать указанные сертификаты для подключения к пользовательским инсталляциям баз данных. Для управляемых баз данных TLS-сертификат добавляется в параметры подключения автоматически.
Загрузите один или несколько пользовательских сертификатов в PEM-формате:
-
самоподписанный сертификат;
-
сертификат, выпущенный в стороннем центре сертификации с цепочкой промежуточных сертификатов. Сертификат вместе с цепочкой сертификатов необходимо загружать в одном поле.
Пример
-----BEGIN CERTIFICATE----- <сертификат> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <промежуточный_сертификат_1> -----END CERTIFICATE----- ... -----BEGIN CERTIFICATE----- <промежуточный_сертификат_N> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <корневой_сертификат> -----END CERTIFICATE-----
Примечание
Если вы настраиваете TLS для коннекторов ClickHouse®, PostgreSQL или MySQL® — создайте подключение к пользовательской инсталляции в Connection Manager, в настройках включите использование TLS.
-
-
(Опционально) Настройте логирование:
- Включите настройку Запись логов.
- Выберите место записи логов:
- Каталог — выберите каталог из списка. Логи будут записываться в лог-группу по умолчанию выбранного каталога.
- Группа — выберите лог-группу из списка или создайте новую.
- Выберите Минимальный уровень логирования из списка.
-
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Чтобы создать кластер Managed Service for Trino:
-
Проверьте, есть ли в каталоге подсети для хостов кластера:
yc vpc subnet listЕсли ни одной подсети в каталоге нет, создайте нужные подсети в сервисе VPC.
-
Посмотрите описание команды CLI для создания кластера:
yc managed-trino cluster create --help -
Укажите параметры кластера в команде создания (в примере приведены не все доступные параметры):
yc managed-trino cluster create \ --name <имя_кластера> \ --version <версия> \ --service-account-id <идентификатор_сервисного_аккаунта> \ --subnet-ids <список_идентификаторов_подсетей> \ --security-group-ids <список_идентификаторов_групп_безопасности> \ --coordinator resource-preset-id=<класс_вычислительных_ресурсов> \ --worker resource-preset-id=<класс_вычислительных_ресурсов>,count=<количество_воркеров> \ --deletion-protection \ --trusted-certs-from-files <список_путей_к_сертификатам>Где:
-
--name— имя кластера. Оно должно быть уникальным в рамках каталога. -
--version— версия Trino.Примечание
После создания кластера вы можете изменить версию Trino. Версию можно как повысить, так и понизить.
-
--service-account-id— идентификатор сервисного аккаунта. -
--subnet-ids— список идентификаторов подсетей. -
--security-group-ids— список идентификаторов групп безопасности. -
--coordinator— конфигурация координатора:resource-preset-id— класс вычислительных ресурсов координатора.
-
--worker— конфигурация воркера:resource-preset-id— класс вычислительных ресурсов воркера.count— фиксированное количество воркеров.minCount— минимальное количество воркеров для автоматического масштабирования.maxCount— максимальное количество воркеров для автоматического масштабирования.
Укажите либо фиксированное количество воркеров (
count), либо минимальное и максимальное количество воркеров (minCount,maxCount) для автоматического масштабирования. -
--deletion-protection— защита кластера от непреднамеренного удаления:trueилиfalse.Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.
-
--trusted-certs-from-files— список путей к сертификатам, разделенных запятой.Managed Service for Trino будет использовать указанные сертификаты для подключения к пользовательским инсталляциям баз данных. Для управляемых баз данных TLS-сертификат добавляется в параметры подключения автоматически.
Передайте один или несколько пользовательских сертификатов в PEM-формате:
- самоподписанный сертификат;
- сертификат, выпущенный в стороннем центре сертификации с цепочкой промежуточных сертификатов.
Примечание
Если вы настраиваете TLS для коннекторов ClickHouse®, PostgreSQL или MySQL® — создайте подключение к пользовательской инсталляции в Connection Manager, в настройках включите использование TLS.
-
-
Чтобы включить отправку логов Trino в сервис Yandex Cloud Logging, задайте параметры логирования:
yc managed-trino cluster create <имя_кластера> \ ... --log-enabled \ --log-folder-id <идентификатор_каталога> \ --log-min-level <уровень_логирования>Где:
-
--log-enabled— включает логирование. -
--log-folder-id— идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога. -
--log-group-id— идентификатор пользовательской лог-группы. Логи будут записываться в нее.Вы можете указать только один из параметров:
--log-folder-idили--log-group-id. -
--log-min-level— минимальный уровень логирования. Возможные значения:TRACE,DEBUG,INFO(значение по умолчанию),WARN,ERRORиFATAL.
-
-
Чтобы включить политику отказоустойчивого выполнения запросов, задайте параметры:
yc managed-trino cluster create <имя_кластера> \ ... --retry-policy-enabled \ --retry-policy \ --retry-policy-additional-properties <список_дополнительных_параметров_политики_перезапросов> \ --retry-policy-exchange-manager-service-s3 \ --retry-policy-exchange-manager-additional-properties <список_дополнительных_параметров_хранилища>Где:
-
--retry-policy-enabled— включает политику перезапросов. -
--retry-policy— способ повторного выполнения запросов. Возможные значения:task— в рамках запроса повторно выполняется промежуточное задание, вызвавшее сбой воркера.query— повторно выполняются все этапы запроса, в котором произошел сбой воркера.
-
--retry-policy-additional-properties— дополнительные параметры повторного выполнения запросов в формате<ключ>=<значение>. Подробнее о параметрах см. в документации Trino . -
--retry-policy-exchange-manager-service-s3— использование S3-хранилища для записи данных при перезапросах. -
--retry-policy-exchange-manager-additional-properties— дополнительные параметры хранилища в формате<ключ>=<значение>. Подробнее о параметрах см. в документации Trino .
-
-
Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), передайте нужное значение в параметре
--maintenance-window:yc managed-trino cluster create <имя_кластера> \ ... --maintenance-window type=<тип_технического_обслуживания>,` `day=<день_недели>,` `hour=<час_дня> \Где
type— тип технического обслуживания:anytime(по умолчанию) — в любое время.weekly— по расписанию. Для этого значения дополнительно укажите:day— день недели:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC: от1до24.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать кластер Managed Service for Trino:
-
Опишите в конфигурационном файле создаваемые ресурсы:
-
Кластер Managed Service for Trino — описание кластера.
-
Каталог Managed Service for Trino — описание каталога.
-
Сеть — описание облачной сети, в которой будет расположен кластер. Если подходящая сеть у вас уже есть, описывать ее повторно не нужно.
-
Подсети — описание подсетей, к которым будут подключены хосты кластера. Если подходящие подсети у вас уже есть, описывать их повторно не нужно.
Пример структуры конфигурационного файла:
resource "yandex_trino_cluster" "<имя_кластера>" { name = "<имя_кластера>" service_account_id = "<идентификатор_сервисного_аккаунта>" subnet_ids = [yandex_vpc_subnet.<имя_подсети>.id] security_group_ids = [<список_идентификаторов_групп_безопасности>] deletion_protection = <защитить_кластер_от_удаления> version = "<версия>" coordinator = { resource_preset_id = "<класс_вычислительных_ресурсов>" } worker = { fixed_scale = { count = 4 } resource_preset_id = "<класс_вычислительных_ресурсов>" } } resource "yandex_vpc_network" "<имя_сети>" { name = "<имя_сети>" } resource "yandex_vpc_subnet" "<имя_подсети>" { name = "<имя_подсети>" zone = "<зона_доступности>" network_id = "yandex_vpc_network.<имя_сети>.id" v4_cidr_blocks = ["<диапазон>"] }Где:
-
name— имя кластера. Оно должно быть уникальным в рамках каталога. -
service_account_id— идентификатор сервисного аккаунта. -
subnet_ids— список идентификаторов подсетей. -
security_group_ids— список идентификаторов групп безопасности. -
deletion_protection— защита кластера от непреднамеренного удаления:trueилиfalse.Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.
-
version— версия Trino.Примечание
После создания кластера вы можете изменить версию Trino. Версию можно как повысить, так и понизить.
-
coordinator— конфигурация координатора:resource_preset_id— класс вычислительных ресурсов координатора.
-
worker— конфигурация воркера:-
resource_preset_id— класс вычислительных ресурсов воркера. -
fixed_scale— фиксированная политика масштабирования воркеров.count— количество воркеров.
-
auto_scale— автоматическая политика масштабирования воркеров.min_count— минимальное количество воркеров.max_count— максимальное количество воркеров.
Укажите либо фиксированное количество воркеров (
fixed_scale.count), либо минимальное и максимальное количество воркеров (auto_scale.min_count,auto_scale.max_count) для автоматического масштабирования. -
-
-
Чтобы создать в кластере каталоги Trino, добавьте в конфигурационный файл нужное количество ресурсов
yandex_trino_catalog. Вы можете сделать это как при создании кластера, так и позже. Подробнее см. в разделе Создание каталога Trino. -
Чтобы включить отправку логов Trino в сервис Yandex Cloud Logging, добавьте к описанию кластера блок
logging:resource "yandex_trino_cluster" "<имя_кластера>" { ... logging = { enabled = <включить_логирование> folder_id = <идентификатор_каталога> min_level = "<уровень_логирования>" } ... }Где:
-
enabled— включает логирование:trueилиfalse. -
folder_id— идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога. -
log_group_id— идентификатор пользовательской лог-группы. Логи будут записываться в нее.Вы можете указать только один из параметров:
folder_idилиlog_group_id. -
min_level— минимальный уровень логирования. Возможные значения:TRACE,DEBUG,INFO(значение по умолчанию),WARN,ERRORиFATAL.
-
-
Чтобы включить политику отказоустойчивого выполнения запросов, добавьте к описанию кластера блок
retry_policy:resource "yandex_trino_cluster" "<имя_кластера>" { ... retry_policy = { policy = "<тип_объекта_для_перезапроса>" additional_properties = { <список_дополнительных_параметров_политики_перезапросов> } exchange_manager = { additional_properties = { <список_дополнительных_параметров_хранилища> } service_s3 = {} } } ... }Где:
-
policy— способ повторного выполнения запросов. Возможные значения:TASK— в рамках запроса повторно выполняется промежуточное задание, вызвавшее сбой воркера.QUERY— повторно выполняются все этапы запроса, в котором произошел сбой воркера.
-
additional_properties— дополнительные параметры повторного выполнения запросов в формате"<ключ>" = "<значение>". Подробнее о параметрах см. в документации Trino . -
exchangeManager— параметры хранилища Exchange Manager:service_s3— использование S3-хранилища для записи данных при перезапросах.additional_properties– дополнительные параметры хранилища Exchange Manager в формате"<ключ>" = "<значение>". Подробнее о параметрах см. в документации Trino .
-
-
Чтобы настроить время технического обслуживания (в т. ч. для выключенных кластеров), добавьте к описанию кластера блок
maintenance_window:resource "yandex_trino_cluster" "<имя_кластера>" { ... maintenance_window = { type = <тип_технического_обслуживания> day = <день_недели> hour = <час_дня> } ... }Где:
type— тип технического обслуживания. Принимает значения:ANYTIME— в любое время.WEEKLY— по расписанию.
day— день недели для типаWEEKLY:MON,TUE,WED,THU,FRI,SATилиSUN.hour— час дня по UTC для типаWEEKLY: от1до24.
-
Чтобы задать параметры TLS:
resource "yandex_trino_cluster" "<имя_кластера>" { ... tls = { trusted_certificates = [<список_сертификатов>] } ... }Где:
-
tls— параметры TLS.Managed Service for Trino будет использовать указанные сертификаты для подключения к пользовательским инсталляциям баз данных. Для управляемых баз данных TLS-сертификат добавляется в параметры подключения автоматически.
-
trusted_certificates— список сертификатов, разделенных запятой.Передайте один или несколько пользовательских сертификатов в PEM-формате:
- самоподписанный сертификат;
- сертификат, выпущенный в стороннем центре сертификации с цепочкой промежуточных сертификатов.
Примечание
Если вы настраиваете TLS для коннекторов ClickHouse®, PostgreSQL или MySQL® — создайте подключение к пользовательской инсталляции в Connection Manager, в настройках включите использование TLS.
-
-
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:Примечание
В примере приведены не все доступные параметры. Список всех параметров см. в документации по API.
{ "folderId": "<идентификатор_каталога>", "name": "<имя_кластера>", "description": "<описание_кластера>", "labels": { <список_меток> }, "trino": { "coordinatorConfig": { "resources": { "resourcePresetId": "<класс_вычислительных_ресурсов>" } }, "workerConfig": { "resources": { "resourcePresetId": "<класс_вычислительных_ресурсов>" }, "scalePolicy": { "autoScale": { "minCount": "<минимальное_количество_экземпляров>", "maxCount": "<максимальное_количество_экземпляров>" } } }, "retryPolicy": { "policy": "<тип_объекта_для_перезапроса>", "exchangeManager": { "storage": { "serviceS3": {} }, "additionalProperties": {<дополнительные_параметры_хранилища>} }, "additionalProperties": {<дополнительные_параметры_перезапросов>} }, "version": "<версия>", "tls": { "trustedCertificates": [ <список_сертификатов> ] } }, "network": { "subnetIds": [ <список_идентификаторов_подсетей> ], "securityGroupIds": [ <список_идентификаторов_групп_безопасности> ] }, "deletionProtection": "<защита_от_удаления>", "serviceAccountId": "<идентификатор_сервисного_аккаунта>", "logging": { "enabled": "<использование_логирования>", "folderId": "<идентификатор_каталога>", "minLevel": "<уровень_логирования>" } }Где:
-
folderId— идентификатор каталога. Его можно запросить со списком каталогов в облаке. -
name— имя кластера. -
description— описание кластера. -
labels— список меток. Метки задаются в формате"<ключ>": "<значение>". -
trino— конфигурация компонентов кластера Trino.-
coordinatorConfig— конфигурация координатора.resources.resourcePresetId— класс вычислительных ресурсов координатора.
-
workerConfig— конфигурация воркера.-
resources.resourcePresetId— класс вычислительных ресурсов воркера. -
scalePolicy— политика масштабирования воркеров:-
fixedScale— фиксированная политика масштабирования.count— количество воркеров.
-
autoScale— автоматическая политика масштабирования.minCount— минимальное количество воркеров.maxCount— максимальное количество воркеров.
Укажите один из двух параметров:
fixedScaleлибоautoScale. -
-
-
retryPolicy— параметры отказоустойчивого выполнения запросов.-
policy– способ повторного выполнения запросов. Возможные значения:TASK— в рамках запроса повторно выполняется промежуточное задание, вызвавшее сбой воркера.QUERY– повторно выполняются все этапы запроса, в котором произошел сбой воркера.
-
exchangeManager.additionalProperties– дополнительные параметры хранилища Exchange Manager в форматеключ: значение. Подробнее о параметрах см. в документации Trino . -
additionalProperties– дополнительные параметры в форматеключ: значение. Подробнее о параметрах см. в документации Trino .
-
-
version— версия Trino.Примечание
После создания кластера вы можете изменить версию Trino. Версию можно как повысить, так и понизить.
-
tls— параметры TLS.Managed Service for Trino будет использовать указанные сертификаты для подключения к пользовательским инсталляциям баз данных. Для управляемых баз данных TLS-сертификат добавляется в параметры подключения автоматически.
-
trustedCertificates— список сертификатов, разделенных запятой.Передайте один или несколько пользовательских сертификатов в PEM-формате:
- самоподписанный сертификат;
- сертификат, выпущенный в стороннем центре сертификации с цепочкой промежуточных сертификатов.
Примечание
Если вы настраиваете TLS для коннекторов ClickHouse®, PostgreSQL или MySQL® — создайте подключение к пользовательской инсталляции в Connection Manager, в настройках включите использование TLS.
-
-
-
network— сетевые настройки:subnetIds— список идентификаторов подсетей.securityGroupIds— список идентификаторов групп безопасности.
-
deletionProtection— позволяет включить защиту кластера от непреднамеренного удаления. Возможные значения:trueилиfalse.Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.
-
serviceAccountId— идентификатор сервисного аккаунта. -
logging— параметры логирования:enabled— позволяет включить логирование. Логи, сгенерированные компонентами Trino, будут отправляться в Yandex Cloud Logging. Возможные значения:trueилиfalse.minLevel— минимальный уровень логирования. Возможные значения:TRACE,DEBUG,INFO,WARN,ERRORиFATAL.folderId— идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.logGroupId— идентификатор пользовательской лог-группы. Логи будут записываться в нее.
Укажите один из двух параметров:
folderIdлибоlogGroupId.
-
-
Воспользуйтесь методом Cluster.create и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://trino.api.cloud.yandex.net/managed-trino/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.
{ "folder_id": "<идентификатор_каталога>", "name": "<имя_кластера>", "description": "<описание_кластера>", "labels": { <список_меток> }, "trino": { "coordinator_config": { "resources": { "resource_preset_id": "<класс_вычислительных_ресурсов>" } }, "worker_config": { "resources": { "resource_preset_id": "<класс_вычислительных_ресурсов>" }, "scale_policy": { "auto_scale": { "min_count": "<минимальное_количество_экземпляров>", "max_count": "<максимальное_количество_экземпляров>" } } }, "retry_policy": { "policy": "<тип_объекта_для_перезапроса>", "exchange_manager": { "storage": { "service_s3": "" }, "additional_properties": {<дополнительные_параметры_хранилища>} }, "additional_properties": {<дополнительные_параметры_перезапросов>} }, "version": "<версия>", "tls": { "trusted_certificates": [ <список_сертификатов> ] } }, "network": { "subnet_ids": [ <список_идентификаторов_подсетей> ], "security_group_ids": [ <список_идентификаторов_групп_безопасности> ] }, "deletion_protection": "<защита_от_удаления>", "service_account_id": "<идентификатор_сервисного_аккаунта>", "logging": { "enabled": "<использование_логирования>", "folder_id": "<идентификатор_каталога>", "min_level": "<уровень_логирования>" } }Где:
-
folder_id— идентификатор каталога. Его можно запросить со списком каталогов в облаке. -
name— имя кластера. -
description— описание кластера. -
labels— список меток. Метки задаются в формате"<ключ>": "<значение>". -
trino— конфигурация компонентов кластера Trino.-
coordinator_config— конфигурация координатора.resources.resource_preset_id— класс вычислительных ресурсов координатора.
-
worker_config— конфигурация воркера.-
resources.resource_preset_id— класс вычислительных ресурсов воркера. -
scale_policy— политика масштабирования воркеров:-
fixed_scale— фиксированная политика масштабирования.count— количество воркеров.
-
auto_scale— автоматическая политика масштабирования.min_count— минимальное количество воркеров.max_count— максимальное количество воркеров.
Укажите один из двух параметров:
fixed_scaleлибоauto_scale. -
-
-
retry_policy— параметры отказоустойчивого выполнения запросов.-
policy– способ повторного выполнения запросов. Возможные значения:TASK— в рамках запроса повторно выполняется промежуточное задание, вызвавшее сбой воркера.QUERY– повторно выполняются все этапы запроса, в котором произошел сбой воркера.
-
exchange_manager.additional_properties– дополнительные параметры хранилища Exchange Manager в форматеключ: значение. Подробнее о параметрах см. в документации Trino . -
additional_properties– дополнительные параметры в форматеключ: значение. Подробнее о параметрах см. в документации Trino .
-
-
version— версия Trino.Примечание
После создания кластера вы можете изменить версию Trino. Версию можно как повысить, так и понизить.
-
tls— параметры TLS.Managed Service for Trino будет использовать указанные сертификаты для подключения к пользовательским инсталляциям баз данных. Для управляемых баз данных TLS-сертификат добавляется в параметры подключения автоматически.
-
trusted_certificates— список сертификатов, разделенных запятой.Передайте один или несколько пользовательских сертификатов в PEM-формате:
- самоподписанный сертификат;
- сертификат, выпущенный в стороннем центре сертификации с цепочкой промежуточных сертификатов.
Примечание
Если вы настраиваете TLS для коннекторов ClickHouse®, PostgreSQL или MySQL® — создайте подключение к пользовательской инсталляции в Connection Manager, в настройках включите использование TLS.
-
-
-
network— сетевые настройки:subnet_ids— список идентификаторов подсетей.security_group_ids— список идентификаторов групп безопасности.
-
deletion_protection— позволяет включить защиту кластера от непреднамеренного удаления. Возможные значения:trueилиfalse.Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.
-
service_account_id— идентификатор сервисного аккаунта. -
logging— параметры логирования:enabled— позволяет включить логирование. Логи, сгенерированные компонентами Trino, будут отправляться в Yandex Cloud Logging. Возможные значения:trueилиfalse.min_level— минимальный уровень логирования. Возможные значения:TRACE,DEBUG,INFO,WARN,ERRORиFATAL.folder_id— идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.log_group_id— идентификатор пользовательской лог-группы. Логи будут записываться в нее.
Укажите один из двух параметров:
folder_idлибоlog_group_id.
-
-
Воспользуйтесь вызовом ClusterService/Create и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/trino/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ trino.api.cloud.yandex.net:443 \ yandex.cloud.trino.v1.ClusterService.Create \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Примеры
Создайте кластер Managed Service for Trino с тестовыми характеристиками:
- Имя —
mytr. - Сервисный аккаунт —
ajev56jp96ji********. - Подсеть —
b0rcctk2rvtr********. - Группа безопасности —
enp6saqnq4ie********. - Координатор с классом вычислительных ресурсов —
c4-m16. - 4 воркера с классом вычислительных ресурсов —
c4-m16. - Защита от непреднамеренного удаления.
Выполните следующую команду:
yc managed-trino cluster create \
--name mytr \
--service-account-id ajev56jp96ji******** \
--subnet-ids b0rcctk2rvtr******** \
--security-group-ids enp6saqnq4ie******** \
--coordinator resource-preset-id=c4-m16 \
--worker resource-preset-id=c4-m16,count=4 \
--deletion-protection
Создайте кластер Managed Service for Trino и сеть для него с тестовыми характеристиками:
- Имя —
mytr. - Сервисный аккаунт —
ajev56jp96ji********. - Сеть —
mtr-network. - Подсеть —
mtr-subnet. Зона доступности подсети —ru-central1-a, диапазон —10.1.0.0/16. - Координатор с классом вычислительных ресурсов —
c4-m16. - 4 воркера с классом вычислительных ресурсов —
c4-m16. - Защита от непреднамеренного удаления.
Конфигурационный файл для такого кластера выглядит так:
resource "yandex_trino_cluster" "mytr" {
name = "mytr"
service_account_id = "ajev56jp96ji********"
deletion_protection = true
subnet_ids = [yandex_vpc_subnet.mtr-subnet.id]
coordinator = {
resource_preset_id = "c4-m16"
}
worker = {
fixed_scale = {
count = 4
}
resource_preset_id = "c4-m16"
}
}
resource "yandex_vpc_network" "mtr-network" {
name = "mtr-network"
}
resource "yandex_vpc_subnet" "mtr-subnet" {
name = "mtr-subnet"
zone = "ru-central1-a"
network_id = yandex_vpc_network.mtr-network.id
v4_cidr_blocks = ["10.1.0.0/16"]
}