Конфигурационные параметры Trino

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

ПРИМЕЧАНИЕ
  • Некоторые из перечисленных параметров становятся доступны в UI ADCM после установки флага Advanced.

  • Значения, установленные в Custom-параметрах, перепишут текущие значения параметров, даже если они read-only.

Hive configuration
Параметр Описание Значение по умолчанию

connector.name

Тип коннектора

hive

hive.metastore.uri

URI для сервиса Hive Metastore

 — 

hive.storage-format

Формат хранения данных Hive

PARQUET

hive.compression-codec

Кодек компрессии для данных Hive

SNAPPY

hive.metastore.thrift.impersonation.enabled

Определяет, используется ли механизм имперсонации Thrift для запросов к Hive Metastore

true

fs.hadoop.enabled

Определяет, поддерживается ли доступ к HDFS

false

hive.config.resources

Необязательный список конфигурационных файлов HDFS, разделенных запятыми

/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml

hive.non-managed-table-writes-enabled

Определяет, включена ли возможность записи во внешние таблицы Hive

true

hive.metastore.authentication.type

Определяет, используется ли аутентификация Kerberos для доступа к Hive Metastore

 — 

hive.metastore.service.principal

Принципал Kerberos для сервиса Hive Metastore

 — 

hive.metastore.client.principal

Принципал Kerberos для клиента Trino при подключении к Hive Metastore

 — 

hive.metastore.client.keytab

Путь к файлу keytab для Kerberos-клиента Trino

 — 

hive.hdfs.authentication.type

Определяет, используется ли Kerberos-аутентификация при доступе к HDFS

 — 

hive.hdfs.impersonation.enabled

Определяет, используется ли механизм имперсонации для конечных пользователей при осуществлении доступа к HDFS

false

hive.hdfs.trino.principal

Принципал Kerberos для клиента Trino при подключении к Hive Metastore

 — 

hive.hdfs.trino.keytab

Путь к файлу keytab для Kerberos-клиента Trino

 — 

hive.metastore.thrift.client.ssl.enabled

Определяет, используется ли SSL для Thrift-клиента Hive Metastore

false

hive.metastore.thrift.client.ssl.key

Путь к keystore для SSL-аутентификации

 — 

hive.metastore.thrift.client.ssl.key-password

Пароль для keystore, используемый при SSL-аутентификации

 — 

hive.metastore.thrift.client.ssl.trust-certificate

Путь к truststore для SSL-аутентификации

 — 

hive.metastore.thrift.client.ssl.trust-certificate-password

Пароль для truststore, используемый при SSL-аутентификации

 — 

Iceberg configuration
Параметр Описание Значение по умолчанию

connector.name

Тип коннектора

iceberg

hive.metastore.uri

URI для сервиса Hive Metastore

 — 

iceberg.catalog.type

Тип каталога для Iceberg

hive_metastore

iceberg.file-format

Формат файлов для таблиц Iceberg

PARQUET

iceberg.compression-codec

Кодек компрессии для таблиц Iceberg

SNAPPY

hive.metastore.thrift.impersonation.enabled

Определяет, используется ли механизм имперсонации Thrift для запросов к Hive Metastore

true

fs.hadoop.enabled

Определяет, поддерживается ли доступ к HDFS

false

hive.config.resources

Необязательный список конфигурационных файлов HDFS, разделенных запятыми

/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml

hive.metastore.authentication.type

Определяет, используется ли аутентификация Kerberos для доступа к Hive Metastore

 — 

hive.metastore.service.principal

Принципал Kerberos для сервиса Hive Metastore

 — 

hive.metastore.client.principal

Принципал Kerberos для клиента Trino при подключении к Hive Metastore

 — 

hive.metastore.client.keytab

Путь к файлу keytab для Kerberos-клиента Trino

 — 

hive.hdfs.authentication.type

Определяет, используется ли Kerberos-аутентификация при доступе к HDFS

 — 

hive.hdfs.impersonation.enabled

Определяет, используется ли механизм имперсонации для конечных пользователей при осуществлении доступа к HDFS

false

hive.hdfs.trino.principal

Принципал Kerberos для клиента Trino при подключении к Hive Metastore

 — 

hive.hdfs.trino.keytab

Путь к файлу keytab для Kerberos-клиента Trino

 — 

hive.metastore.thrift.client.ssl.enabled

Определяет, используется ли SSL для Thrift-клиента Hive Metastore

false

hive.metastore.thrift.client.ssl.key

Путь к файлу keystore для SSL-аутентификации

 — 

hive.metastore.thrift.client.ssl.key-password

Пароль для файла keystore, используемый при SSL-аутентификации

 — 

hive.metastore.thrift.client.ssl.trust-certificate

Путь к файлу truststore для SSL-аутентификации

 — 

hive.metastore.thrift.client.ssl.trust-certificate-password

Пароль для файла truststore, используемый при SSL-аутентификации

 — 

Custom catalogs
Параметр Описание Значение по умолчанию

Connector properties

В этой секции можно добавлять кастомные каталоги, нажимая +1 и вводя свойства для нового коннектора

 — 

resource-groups.properties
Параметр Описание Значение по умолчанию

resource-groups.configuration-manager

Источник конфигурации для менеджера групп ресурсов: файл JSON или база данных

file

resource-groups.config-db-url

URL базы данных, из которой следует загружать конфигурацию

 — 

resource-groups.config-db-user

Пользователь базы данных, используемый для подключения

 — 

resource-groups.config-db-password

Пароль пользователя базы данных, используемый для подключения

 — 

resource-groups.config-file

Путь к конфигурационному файлу JSON для менеджера групп ресурсов

/etc/trino/conf/resource-groups.json

resource-groups.max-refresh-interval

Максимальный период времени, в течение которого кластер будет продолжать прием запросов после неудачной попытки обновления конфигурации. По истечении этого периода конфигурация станет недействительной

 — 

resource-groups.refresh-interval

Интервал времени (в секундах) между загрузками конфигурации

 — 

session-property-config.properties
Параметр Описание Значение по умолчанию

Session property managers

Источник конфигурации для менеджеров свойств сессии

file

session-property-manager.config-file

Путь к конфигурационному файлу JSON для менеджеров свойств сессии

/etc/trino/conf/session-property-config.json

Fault-tolerant execution
Параметр Описание Значение по умолчанию

retry-policy

Определяет, должен ли Trino в случае неудачного выполнения перезапустить весь запрос (QUERY), его отдельные стадии (TASK), или не делать ничего (NONE). Данный параметр принимает следующие значения:

  • NONE — отключает режим FTE (значение по умолчанию).

  • QUERY — если Trino worker завершает выполнение запроса с ошибкой, Trino повторно выполняет весь запрос (query). Данная политика рекомендуется, когда большинство запросов Trino небольшие.

  • TASK — если Trino worker завершает выполнение запроса с ошибкой, Trino повторно выполняет отдельные задачи (tasks). Данный режим оптимален для больших пакетных запросов, однако может привести к повышенной задержке при большом количестве маленьких запросов.

NONE

exchange.deduplication-buffer-size

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

32MB

fault-tolerant-execution-exchange-encryption-enabled

Определяет, использовать ли шифрование для данных спулов

false

task.low-memory-killer.policy

Определяет, завершать ли принудительно стадии запросов в случае недостаточного количества памяти. Принимает одно из следующих значений:

  • NONE — не завершать стадии.

  • total-reservation-on-blocked-nodes — завершать стадии, являющиеся частью запросов, которые используют наибольшее количество памяти на узлах, где память исчерпана.

  • least-waste — завершать стадии, являющиеся частью запросов, которые используют значительное количество памяти на узлах, где память исчерпана. При этой политике стадии, затратившие на исполнение наибольшее время, завершаются в последнюю очередь, чтобы выполненная ими работа не пропала напрасно.

Этот параметр используется, только если параметр retry-policy имеет значение TASK

total-reservation-on-blocked-nodes

query-retry-attempts

Максимальное количество попыток, предпринимаемых Trino для повторного исполнения запроса, прежде чем он будет считаться неуспешным. Этот параметр используется, только если параметр retry-policy имеет значение QUERY

4

task-retry-attempts-per-task

Максимальное количество попыток, предпринимаемых Trino для повторного исполнения одной стадии прежде чем запрос, к которой она принадлежит, будет считаться неуспешным. Этот параметр используется, только если параметр retry-policy имеет значение TASK

4

retry-initial-delay

Минимальное время ожидания перед повторным исполнением запроса или стадии. Этот параметр используется, только если параметр retry-policy имеет значение TASK или QUERY

10s

retry-max-delay

Максимальное время ожидания перед повторным исполнением запроса или стадии. Время ожидания увеличивается после каждого последовательного неудачного исполнения запроса или стадии. Этот параметр используется, только если параметр retry-policy имеет значение TASK или QUERY

1m

retry-delay-scale-factor

Величина, на которую умножается время ожидания перед повторным исполнением стадии или запроса после неудачной попытки. Этот параметр используется, только если параметр retry-policy имеет значение TASK или QUERY

2

exchange-manager.properties
Параметр Описание Значение по умолчанию

exchange-manager.name

Тип хранилища для данных промежуточного обмена между стадиями распределенного запроса: HDFS или локальная файловая система

hdfs

exchange.base-directories

Список URI расположений, которые менеджер Exchange использует для хранения данных спулов, разделенных запятыми

hdfs://<adh_cluster_nameservice>/exchange-spooling-directory

hdfs.config.resources

Список путей к конфигурационным файлам HDFS, разделенных запятыми. Эти файлы должны существовать на всех узлах кластера Trino

/etc/hadoop/conf/core-site.xml, /etc/hadoop/conf/hdfs-site.xml

exchange.hdfs.auto-create-storage-dirs

Определяет, нужно ли автоматически создавать директории хранилищ HDFS при их отсутствии

false

exchange.hdfs.auto-create-storage-dirs-perms

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

755

exchange.sink-buffer-pool-min-size

Минимальный размер пула буферов для пространства обмена. Чем больше пул буферов, тем больше объем использованной памяти и выше степень параллельности записи

10

exchange.sink-buffers-per-partition

Количество буферов в одной секции в пуле буферов. Чем больше пул буферов, тем интенсивнее использование памяти и выше степень параллельности записи

2

log.properties
Параметр Описание Значение по умолчанию

io.trino

Глобальный уровень логирования для Trino

INFO

io.trino.server

Уровень логирования для серверных частей Trino

INFO

ranger-trino-audit.xml
Параметр Описание Значение по умолчанию

xasecure.audit.destination.solr.batch.filespool.dir

Путь к spool-каталогу

/srv/ranger/trino_plugin/audit_solr_spool

xasecure.audit.destination.solr.urls

URL сервера Solr для сохранения аудит-событий. Оставьте значение пустым или установите значение NONE при использовании ZooKeeper для подключения к Solr

 — 

xasecure.audit.destination.solr.zookeepers

Указывает строку для подключения ZooKeeper к Solr

 — 

xasecure.audit.destination.solr.force.use.inmemory.jaas.config

Определяет, использовать ли in-memory JAAS-файл для соединения с Solr

 — 

xasecure.audit.is.enabled

Активирует аудит Ranger

true

xasecure.audit.jaas.Client.loginModuleControlFlag

Определяет требование к успешному завершению работы модуля. Возможные значения: required, requisite, sufficient, optional

 — 

xasecure.audit.jaas.Client.loginModuleName

Имя класса-аутентификатора

 — 

xasecure.audit.jaas.Client.option.keyTab

Имя keytab-файла, из которого необходимо получить секретный ключ принципала

 — 

xasecure.audit.jaas.Client.option.principal

Имя используемого принципала

 — 

xasecure.audit.jaas.Client.option.serviceName

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

 — 

xasecure.audit.jaas.Client.option.storeKey

Установите значение true, чтобы keytab-файл или ключ принципала сохранялись в учетных данных субъекта

false

xasecure.audit.jaas.Client.option.useKeyTab

Установите значение true, чтобы модуль получал ключ принципала из keytab-файла

false

xasecure.audit.jaas.Client.option.useTicketCache

Установите значение true, чтобы модуль получал ключ принципала из кеша

 — 

ranger-trino-security.xml
Параметр Описание Значение по умолчанию

ranger.plugin.trino.access.cluster.name

Имя для идентификации кластера Trino. Оно записывается в логи аудита, создаваемые плагином

 — 

ranger.plugin.trino.super.users

Список имен пользователей, разделенных запятыми, которые имеют права суперпользователя

 — 

ranger.plugin.trino.super.groups

Список групп, разделенных запятыми. Пользователи из этих групп считаются суперпользователями

 — 

ranger.plugin.trino.use.rangerGroups

Определяет, извлекать ли матрицу соответствия пользователей группам из Apache Ranger

 — 

ranger.plugin.trino.policy.rest.url

URL для Ranger Admin

 — 

ranger.plugin.trino.service.name

Имя сервиса Ranger, хранящего политики для данного экземпляра Trino

 — 

ranger.plugin.trino.policy.cache.dir

Директория, в которой хранятся политики Ranger после успешного извлечения из источника

/srv/ranger/trino/policycache

ranger.plugin.trino.policy.pollIntervalMs

Период проверки политик на актуальность в миллисекундах

30000

ranger.plugin.trino.policy.rest.client.connection.timeoutMs

Тайм-аут соединения клиента Ranger REST в миллисекундах

120000

ranger.plugin.trino.policy.rest.client.read.timeoutMs

Тайм-аут чтения клиента Ranger REST в миллисекундах

30000

ranger.plugin.trino.enable.implicit.userstore.enricher

Определяет, использовать ли UserStoreEnricher для извлечения атрибутов пользователей и групп при использовани макросов или скриптов в фильтрах строк начиная с версии Ranger 2.3

true

ranger.plugin.trino.policy.rest.ssl.config.file

Путь к конфигурационному файлу RangerRestClient SSL-плагина Trino

/etc/hbase/conf/ranger-hbase-policymgr-ssl.xml

ranger.plugin.trino.ugi.initialize

Определяет, инициализировать ли идентификатор Kerberos, использованный для аутентификации на сервере Ranger Admin

true

ranger.plugin.trino.ugi.login.type

Тип логина. Используйте значение keytab

keytab

ranger.plugin.trino.ugi.keytab.principal

Принципал Kerberos

 — 

ranger.plugin.trino.ugi.keytab.file

Расположение keytab-файла

 — 

ranger-trino-policymgr-ssl.xml
Параметр Описание Значение по умолчанию

xasecure.policymgr.clientssl.keystore

Путь к keystore-файлу, который использует Ranger

 — 

xasecure.policymgr.clientssl.keystore.credential.file

Путь к файлу с паролями для keystore-файла

/etc/trino/conf/ranger-trino.jceks

xasecure.policymgr.clientssl.truststore.credential.file

Путь к truststore-файлу с учетными данными

/etc/trino/conf/ranger-trino.jceks

xasecure.policymgr.clientssl.truststore

Путь к truststore-файлу, который использует Ranger

 — 

xasecure.policymgr.clientssl.keystore.password

Пароль для доступа к keystore-файлу

 — 

xasecure.policymgr.clientssl.truststore.password

Пароль для доступа к truststore-файлу

 — 

access-control.properties
Параметр Описание Значение по умолчанию

access-control.name

Тип контроля доступа. Возможные значения:

  • default — разрешены все операции, кроме имперсонации пользователей и запуска аккуратного выключения.

  • allow-all — разрешены все операции.

  • read-only — разрешено чтение данных или метаданных, запись данных или метаданных запрещена.

  • file — правила разрешений заданы в конфигурационном файле.

  • opa — разрешения устанавливаются с помощью Open Policy Agent (OPA).

  • ranger — разрешения устанавливаются с помощью политик Apache Ranger.

default

ranger.service.name

Имя сервиса Ranger с политиками

 — 

ranger.plugin.config.resource

Список конфигурационных файлов плагина Ranger, разделенных запятыми. Относительные пути разрешаются динамически поиском в classpath

 — 

ranger.hadoop.config.resource

Список конфигурационных файлов Hadoop, разделенных запятыми. Относительные пути разрешаются динамически поиском в classpath

 — 

security.config-file

Путь к конфигурационному файлу с правилами доступа

/etc/trino/conf/rules.json

opa.policy.uri

URL OPA-сервера (open policy agent)

 — 

Прочее
Параметр Описание Значение по умолчанию

Custom Hive configuration

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурации Hive

 — 

Custom Iceberg configuration

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурации Iceberg

 — 

Custom resource-groups.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурации менеджера групп ресурсов

 — 

Custom session-property-config.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурации менеджеров свойств сессии

 — 

Custom exchange-manager.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурации менеджера Exchange

 — 

Custom log.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурации логирования

 — 

Custom ranger-trino-audit.xml

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле ranger-trino-audit.xml

 — 

Custom ranger-trino-security.xml

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле ranger-trino-security.xml

 — 

Custom ranger-trino-policymgr-ssl.xml

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле ranger-trino-policymgr-ssl.xml

 — 

Ranger plugin enabled

Определяет, использовать ли плагин Ranger для Trino

false

resource-groups.json

Файл JSON, содержащий конфигурацию менеджера групп ресурсов

session-property-config.json

Файл JSON, содержащий конфигурацию менеджеров свойств сессии

ad-runtime-utils

Файл конфигурации YAML, содержащий параметры установки Java: версию, путь установки и переменную среды

Компонент Trino Coordinator
config.properties
Параметр Описание Значение по умолчанию

coordinator

Определяет, выступает ли данный узел как координатор

true

http-server.authentication.allow-insecure-over-http

Определяет, разрешены ли небезопасные HTTP-соединения при включенной аутентификации

false

node-scheduler.include-coordinator

Определяет, должен ли узел-координатор также планировать и выполнять запросы

false

http-server.http.port

HTTP-порт сервера

18188

discovery.uri

URI для сервиса обнаружения. Обычно — полное доменное имя (FQDN) с номером порта

 — 

join-distribution-type

Используемый тип распределенного JOIN

AUTOMATIC

redistribute-writes

Определяет, перераспределять ли данные перед записью

true

query.max-cpu-time

Максимальное количество процессорного времени, которое может быть использовано для выполнения запроса по всему кластеру. Запросы, выполнение которых превышает это ограничение, принудительно завершаются

 — 

query.max-memory-per-node

Максимальное количество памяти для выполнения запроса на узле Trino worker

 — 

query.max-memory

Максимальное количество памяти для выполнения запроса по всему кластеру

20GB

query.max-total-memory

Максимальное количество памяти для выполнения запроса по всему кластеру, включая отзываемую память

40GB

memory.heap-headroom-per-node

Количество памяти, оставляемое для резерва (буфер) в heap-памяти Java-машины для распределения, не отслеживаемого Trino

 — 

exchange.deduplication-buffer-size

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

 — 

query.client.timeout

Тайм-аут для работы кластера без связи с клиентским приложением прежде чем он завершит работу

5m

query.execution-policy

Алгоритм для организации обработки всех стадий запроса

phased

query.determine-partition-count-for-write-enabled

Определяет, выбирается ли количество секций на основе количества данных, прочитанных и обработанных запросом для запросов на запись

false

query.max-hash-partition-count

Максимальное количество секций для использования при обработке распределенных операций

100

query.min-hash-partition-count-for-write

Минимальное количество секций для использования при обработке распределенных операций в запросах на запись

50

query.max-writer-task-count

Максимальное количество задач, которые примут участие в записи данных во время выполнения запросов INSERT, CREATE TABLE AS SELECT и EXECUTE. Это ограничение применяется, только если параметры redistribute-writes или scale-writers имеют значение true

100

query.low-memory-killer.policy

Определяет режим принудительного завершения выполнения запросов при исчерпании памяти

total-reservation-on-blocked-nodes

query.max-execution-time

Максимальное время исполнения запроса в кластере перед его завершением. Это время не включает в себя анализ, планирование и нахождение в очереди

100d

query.max-length

Максимальное количество символов в тексте SQL-запроса. Запросы длиннее этого значения не обрабатываются и завершаются с ошибкой QUERY_TEXT_TOO_LARGE

1000000

query.max-planning-time

Максимальное количество времени для планирования исполнения запроса

10m

query.max-run-time

Максимальное количество времени для обработки запроса в кластере перед его завершением

100d

query.max-scan-physical-bytes

Максимальное количество байт, которое может быть сканировано запросом в процессе исполнения

 — 

query.remote-task.max-error-duration

Тайм-аут для удаленных (remote) задач, которым не удается связаться с Trino coordinator. Если координатор не получает никаких данных от удаленной задачи в течение этого времени, он считает задачу завершенной с ошибкой

1m

query.max-stage-count

Максимальное разрешенное количество стадий на один запрос

150

query.max-history

Максимальное количество запросов, хранимое в истории для предоставления статистики и другой информации, а также для отображения данных в веб-интерфейсе

100

query.min-expire-age

Минимальный возраст запроса в истории для того, чтобы он мог считаться неактуальным. Неактуальные запросы удаляются из буфера истории и становятся недоступными в веб-интерфейсе

15m

query.remote-task.enable-adaptive-request-size

Определяет, используется ли динамическая генерация сплитов серверных запросов, присылаемых задачами. Это может предотвратить ошибки исчерпания памяти для больших схем

true

query.remote-task.guaranteed-splits-per-task

Минимальное количество сплитов, которые должны быть назначены каждой удаленной задаче для обеспечения минимального количества работы у каждой из этих задач

3

query.remote-task.max-request-size

Максимальный размер одного запроса, создаваемого удаленной задачей. Для работы этого параметра необходимо, чтобы параметр query.remote-task.enable-adaptive-request-size имел значение true

8MB

query.remote-task.request-size-headroom

Определяет размер резервной памяти, которую необходимо выделять сверх размера данных запроса. Для работы этого параметра необходимо, чтобы параметр query.remote-task.enable-adaptive-request-size имел значение true

2MB

query.info-url-template

URL для перенаправления клиентов к альтернативному расположению информации запроса

 — 

retry-policy

Политика повторного запуска для отказоустойчивого выполнения

NONE

catalog.prune.update-interval

Интервал для сокращения отброшенных каталогов. Для работы этого параметра необходимо, чтобы параметр catalog.management имел значение dynamic. Отбрасывание каталога не прерывает использующие его исполняемые запросы, но делает его недоступным для новых запросов

5s

catalog.store

При значении этого параметра, равном file, создание и отбрасывание каталогов с использованием SQL-команд дообавляет и удаляет файлы свойств каталога на узле Trino coordinator. Для работы этого параметра необходимо, чтобы параметр catalog.management имел значение dynamic

 — 

sql.forced-session-time-zone

Определяет, устанавливать ли принудительно часовой пояс для всех обрабатываемых запросов в заданное значение и таким образом игнорировать часовой пояс клиента. Часовой пояс должен быть задан строкой

 — 

sql.default-catalog

Каталог по умолчанию для всех клиентов. Любая конфигурация каталога по умолчанию, предоставляемая клиентом, перезаписывает это значение

 — 

sql.default-schema

Схема по умолчанию для всех клиентов. Значением этого параметра должно являться имя схемы, допустимое для каталога по умолчанию. Любая конфигурация схемы по умолчанию, предоставляемая клиентом, перезаписывает это значение

 — 

sql.default-function-catalog

Каталог по умолчанию для хранилища пользовательских функций для всех клиентов

 — 

sql.default-function-schema

Схема по умолчанию для UDF-хранилища для всех клиентов

 — 

sql.path

Набор путей по умолчанию к функциям или табличным функциям в определенных каталогах и схемах. Пути определяются в формате catalog_name.schema_name

 — 

spill-enabled

Определяет, используется ли переброс памяти на диск во избежание превышения ограничений памяти для запроса

false

spiller-spill-path

Путь для переброса памяти на диск

 — 

spiller-max-used-space-threshold

Если для заданного пути переброса памяти процент использования дискового пространства превышает значение этого парамтра, то этот путь не будет использоваться для переброса

0.9

spiller-threads

Количество потоков переброса памяти. Увеличьте это значение, если его будет не хватать для насыщения диска, на который ведется переброс (например, при использовании RAID)

4

max-spill-per-node

Максимальный размер пространства, используемый всеми запросами на одном узле для переброса памяти. Это значение необходимо задавать только на узлах Trino worker

100GB

query-max-spill-per-node

Максимальный размер пространства, используемый одним запросом на одном узле для переброса памяти. Это значение необходимо задавать только на узлах Trino worker

100GB

aggregation-operator-unspill-memory-limit

Ограничение размера памяти, используемой для обратного переброса одним экземпляром оператора агрегации

4MB

spill-compression-codec

Кодек компрессии, используемый при перебросе страниц памяти на диск

NONE

spill-encryption-enabled

Установите значение true для этого параметра, чтобы создать случайный секретный ключ для каждого файла переброса с целью шифрования и расшифрования данных, передаваемых на диск

false

exchange.client-threads

Количество потоков, используемых Exchange-клиентами для извлечения данных из других узлов Trino nodes. Более высокое значение этого параметра может привести к увеличению производительности для больших кластеров или кластеров с большой многопоточностью. Слишком большие значения могут привести к падению производительности из-за переключений контекста и дополнительного использования памяти

25

exchange.concurrent-request-multiplier

Множитель, определяющий количество одновременных запросов относительно доступного размера буфера памяти

3

exchange.compression-codec

Кодек, используемый для сжатия и распаковки файлов при обмене данными между узлами и exchange-хранилищем при отказоустойчивом режиме исполнения

LZ4

exchange.data-integrity-verification

Действие при обнаружении нарушения целостности данных

ABORT

exchange.max-buffer-size

Размер буфера exchange-клиента, содержащего данные, полученные от остальных узлов перед началом их обработки

32MB

exchange.max-response-size

Максимальный размер ответа, возвращаемого из exchange-запроса

16MB

sink.max-buffer-size

Размер выходного буфера для данных задач, которые ожидают подбора задачами выше по плану исполнения

32MB

sink.max-broadcast-buffer-size

Размер широковещательного буфера для данных задач, которые ожидают подбора задачами выше по плану исполнения

200MB

task.concurrency

Локальная многопоточность по умолчанию для параллельных операторов (например, объединение и агрегация)

 — 

task.http-response-threads

Максимальное количество потоков, которые могут быть созданы для обработки HTTP-ответов

100

task.http-timeout-threads

Количество потоков, используемых для обработки тайм-аутов при создании HTTP-ответов

3

task.info-update-interval

Интервал времени для обновления информации о задаче, используемый планировщиком. Более высокие значения могут привести к снижению нагрузки на процессор координатора, но также и к неоптимальному планированию генерации сплитов

3s

task.max-drivers-per-task

Максимальное количество драйверов, которые задача может выполнять одновременно

2147483647

task.max-partial-aggregation-memory

Максимальный размер результата частичной агрегации для распределенных агрегаций

16MB

task.max-worker-threads

Количество потоков, используемых узлом worker для обработки сплитов

 — 

task.min-drivers

Целевое количество работающих leaf-сплитов на узле Trino worker

 — 

task.min-drivers-per-task

Минимальное количество драйверов, которые гарантированно будут выполняться одновременно для одной задачи при условии, что у задачи остаются сплиты для обработки

3

task.min-writer-count

Минимальное количество одновременных потоков на запись для одного запроса одного узла Trino worker при условии, что не используются предпочтительное секционирование и масштабирование задач записи

1

task.max-writer-count

Максимальное количество одновременных потоков на запись для одного запроса одного узла Trino worker при условии, что не используются предпочтительное секционирование и масштабирование задач записи

 — 

task.interrupt-stuck-split-tasks-enabled

Установите значение true для этого параметра, чтобы позволить Trino обнаруживать задачи и считать их завершенными с ошибкой, если они содержат сплиты, которые не выполняются и не завершаются

true

task.interrupt-stuck-split-tasks-warning-threshold

Ограничение на время выполнения сплитов, после которого выводится стек вызовов на эндпойнте /v1/maxActiveSplits и генерируются метрики JMX

10m

task.interrupt-stuck-split-tasks-timeout

Тайм-аут блокировки потока обработки сплита, после которого Trino считает задачу завершенной с ошибкой

10m

task.interrupt-stuck-split-tasks-detection-interval

Интервал проверки наличия сплитов, чье время обработки превышает значение параметра task.interrupt-stuck-split-tasks-timeout

2m

use-preferred-write-partitioning

Определяет, включено ли использование предпочтительного секционирования записи. Если имеет значение true, то каждая секция записывается отдельным обработчиком

true

scale-writers

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

true

task.scale-writers.enabled

Определяет, используется ли масштабирование количества одновременных обработчиков записи в одной задаче

true

writer-scaling-min-data-processed

Минимальный размер несжатых данных, которые должны быть обработаны прежде чем может быть добавлен новый обработчик записи

100MB

optimizer.dictionary-aggregation

Определяет, используется ли оптимизация для агрегации в справочниках

false

optimizer.optimize-hash-generation

Установите значение true для этого параметра, чтобы вычисление хеш-кодов для распределений, объединений и агрегаций происходило заранее в процессе исполнения, что позволяет впоследствии делиться результатами между операциями в запросе

false

optimizer.optimize-metadata-queries

Определяет, следует ли перемещать агрегацию после оператора OUTER JOIN, если агрегация находится перед ним, а все столбцы из внешней части оператора JOIN находится в операторе группировки

true

optimizer.distinct-aggregations-strategy

Режим оптимизации, используемый для множественных раздельных агрегаций

AUTOMATIC

optimizer.push-table-write-through-union

Определяет, использовать ли параллельную запись при использовании оператора UNION ALL в запросах, записывающих данные

true

optimizer.join-reordering-strategy

Режим переупорядочивания объединений. Значение NONE подразумевает использование того же порядка таблиц, в котором они перечислены в запросе

AUTOMATIC

optimizer.max-reordered-joins

Максимальное количество объединений, которые могут быть переупорядочены за один раз, если параметр optimizer.join-reordering-strategy имеет значение cost-based

8

optimizer.optimize-duplicate-insensitive-joins

Определяет, следует ли уменьшать количество строк, порождаемых при объединениях, если оптимизатор обнаруживает возможность пропуска строк в результате выполнения дублирующихся объединений

true

optimizer.use-exact-partitioning

Определяет, следует ли заново секционировать данные, если секционирование в стадии ранее по плану исполнения не соответствует в точности тому, что ожидает стадия далее по плану исполнения

false

optimizer.use-table-scan-node-partitioning

Определяет, следует ли при чтении таблиц использовать секционирование табличного узла, предоставленное коннектором

true

optimizer.table-scan-node-partitioning-min-bucket-to-task-ratio

Минимальное соотношение количества bucket и задач, при достижении или превышении которого используется секционирование табличных узлов для сканирования

0.5

optimizer.filter-conjunction-independence-factor

Масштаб допуска независимости для оценки селективности конъюнкции множественных предикатов

0.75

optimizer.join-multi-clause-independence-factor

Масштаб допуска независимости для оценки результатов объединения множественных операторов

0.25

optimizer.non-estimatable-predicate-approximation.enabled

Определяет, следует ли использовать оптимизатор на основе затрат для определения необходимости повторного секционирования результатов стадии, которые уже были секционированы

true

optimizer.join-partitioned-build-min-row-count

Минимальное количество строк на стороне сборки объединения, необходимое для использования секционированного поиска соединения

1000000

optimizer.min-input-size-per-task

Минимальный размер входных данных, необходимых для одной задачи

5GB

optimizer.min-input-rows-per-task

Минимальное количество входных строк, необходимых для одной задачи

10000000

log.annotation-file

Имя файла с дополнительными свойствами, содержащего аннотации для добавления к сообщениям в логе для TCP-вывода или файлового вывода в формате JSON, определенного параметрами log.path и log.format

 — 

log.path

Путь к лог-файлу, используемому Trino. Этот путь является относительным к директории данных, заданной как var/log/server.log скриптом запуска

 — 

log.max-size

Максимальный размер для лог-файла главного приложения

100MB

log.max-total-size

Максимальный общий размер лог-файлов главного приложения

1GB

log.compression

Формат компрессии, используемый для лог-файлов при ротации. Возможные значения: GZIP и NONE. При значении NONE компрессия не используется

GZIP

http-server.log.enabled

Определяет, используется ли логирование для HTTP-сервера

true

http-server.log.compression.enabled

Определяет, используется ли компрессия лог-файлов для HTTP-сервера

true

http-server.log.path

Путь к лог-файлу HTTP-сервера

/var/log/trino/http-request.log

http-server.log.max-history

Максимальное количество лог-файлов HTTP-сервера перед использованием ротации

15

http-server.log.max-size

Максимальный размер лог-файла HTTP-сервера

 — 

re2j.dfa-states-limit

Максимальное количество состояний для использования, когда RE2J собирает быстрый, но потенциально ресурсоемкий детерминированный конечный автомат (ДКА) для поиска соответствий регулярных выражений

2147483647

re2j.dfa-retries

Количество повторных попыток использования алгоритма ДКА RE2J по достижении ограничения количества состояний. После этого для всех последующих вводных данных для этого запроса он использует недетерминированный конечный автомат (НКА), который является более медленным, но менее ресурсоемким

5

http-server.authentication.type

Механизм аутентификации для пользовательского доступа к Trino

 — 

node.internal-address-source

Установите значение FQDN для этого параметра для обеспечения корректной работы и использования действительных DNS-имен в Kerberos

FQDN

access-control.config-files

Путь к файлу конфигурации контроля доступа

/etc/trino/conf/access-control.properties

password-authenticator.config-files

Файл конфигурации Password Authenticator

/etc/trino/conf/coordinator/password-authenticator.properties

web-ui.user

Имя пользователя для аутентификации в веб-интерфейсе

trino

internal-communication.shared-secret

Строка, используемая узлами Trino из одного кластера для аутентификации в нем

 — 

web-ui.authentication.type

Механизм аутентификации, используемый для пользовательского доступа к веб-интерфейсу

NONE

Kerberos Configuration
Параметр Описание Значение по умолчанию

http-server.authentication.krb5.service-name

Имя сервиса Kerberos для аутентификации

trino

http-server.authentication.krb5.principal-hostname

Сетевое имя хоста из принципала Kerberos

 — 

http-server.authentication.krb5.keytab

Путь к файлу keytab для Kerberos-аутентификации

/etc/security/keytabs/trino.service.keytab

http.authentication.krb5.config

Путь к файлу конфигурации Kerberos

/etc/krb5.conf

http-server.authentication.krb5.user-mapping.file

Файл, содержащий правила для соотнесения принципалов Kerberos с локальными именами пользователей

 — 

SSL Configuration
Параметр Описание Значение по умолчанию

http-server.http.enabled

Определяет, включен ли HTTP для HTTP-сервера

true

internal-communication.https.required

Определяет, используется ли SSL/TLS для всех внутренних коммуникаций

false

http-server.https.enabled

Определяет, используется ли HTTPS для HTTP-сервера

false

http-server.https.port

HTTPS-порт сервера

18188

http-server.https.keystore.path

Путь к файлу keystore для HTTPS

 — 

http-server.https.keystore.key

Пароль для keystore, используемый в HTTPS

 — 

http-server.https.truststore.path

Путь к файлу truststore для HTTPS

 — 

http-server.https.truststore.key

Пароль для truststore, используемый в HTTPS

 — 

internal-communication.https.keystore.path

Путь к файлу keystore для внутренней коммуникации в кластере Trino через HTTPS

 — 

internal-communication.https.keystore.key

Пароль для keystore для внутренней коммуникации в кластере Trino через HTTPS

 — 

internal-communication.https.truststore.path

Путь к файлу truststore для внутренней коммуникации в кластере Trino через HTTPS

 — 

internal-communication.https.truststore.key

Пароль для truststore для внутренней коммуникации в кластере Trino через HTTPS

 — 

Enable LDAP
Параметр Описание Значение по умолчанию

password-authenticator.name

Название реализации аутентификатора

ldap

ldap.url

URL LDAP-сервера

 — 

ldap.ssl.truststore.path

Пусть к PEM- или JKS-файлу keystore

 — 

ldap.user-bind-pattern

Пользовательская строка соединения LDAP для аутентификации по паролю. Должна содержать шаблон ${USER} который заменяется на имя пользователя во время аутентификации по паролю. Может содержать несколько шаблонов, разделенных двоеточиями

${USER}@example.com

ldap.allow-insecure

Определяет, разрешено ли подключение к LDAP-серверу без TLS

false

ldap.user-base-dn

База поиска LDAP для пользователя, пытающегося подключиться к серверу. Пример: OU=Peoples,DC=example,DC=com

 — 

ldap.bind-dn

LDAP-имя пользователя, используемое Trino при создании запросов на членство в группе. Пример: CN=admin,OU=CITY_OU,DC=domain

 — 

ldap.bind-password

Пароль, используемый Trino при создании запросов на членство в группе

 — 

ldap.group-auth-pattern

Задает LDAP-запрос для авторизации членства в группе LDAP

(&(objectClass=person)(sAMAccountName=${USER})(memberof=CN=AuthorizedGroup,OU=Groups,DC=example,DC=com))

OAuth 2.0
Параметр Описание Значение по умолчанию

http-server.authentication.oauth2.issuer

URL сервера авторизации OAuth2

 — 

http-server.authentication.oauth2.client-id

Идентификатор клиента OAuth2 для Trino

 — 

http-server.authentication.oauth2.client-secret

Пароль клиента OAuth2 для аутентификации

 — 

JWT Auth
Параметр Описание Значение по умолчанию

http-server.authentication.jwt.key-file

Определяет либо URL сервиса JWKS, либо путь к файлу PEM или HMAC

 — 

http-server.authentication.jwt.required-issuer

Определяет строку, которая должна совпадать с полем автора JWT (iss)

 — 

http-server.authentication.jwt.required-audience

Определяет строку, которая должна совпадать с полем аудитории JWT (aud)

 — 

http-server.authentication.jwt.principal-field

Поле в JWT, идентифицирующее субъект

sub

http-server.authentication.jwt.user-mapping.pattern

Шаблон регулярного выражения для приведения всех имен пользователей к формату Trino для JWT-аутентификации

 — 

http-server.authentication.jwt.user-mapping.file

Файл JSON с правилами приведения пользователей для JWT-аутентификации

 — 

Certificate Auth
Параметр Описание Значение по умолчанию

http-server.authentication.certificate.user-mapping.pattern

Шаблон регулярного выражения для приведения всех имен пользователей к формату Trino для аутентификации на основе сертификатов

 — 

http-server.authentication.certificate.user-mapping.file

Путь к файлу JSON с правилами приведения пользователей для аутентификации на основе сертификатов

/etc/trino/conf/coordinator/user-mapping.json

Password-file Auth
Параметр Описание Значение по умолчанию

password-authenticator.name

Определяет название реализации аутентификатора

file

file.password-file

Путь к файлу пароля

 — 

file.refresh-period

Определяет, как часто нужно перезагружать файл пароля

5s

file.auth-token-cache.max-size

Максимальное количество аутентифицированных паролей в кеше

1000

Trino catalog management
Параметр Описание Значение по умолчанию

catalog.management

Тип менеджера каталогов

static

Postgres JDBC URL

URL для JDBC-подключения к хранилищу каталогов Postgres

jdbc:postgresql://{{ groups['adpg.adpg'][0] | d(omit) }}:5432/catalog

Postgres username

Имя пользователя хранилища каталогов Postgres для JDBC-подключения

catalog

Postgres password

Пароль для JDBC-подключения к хранилищу каталогов Postgres

 — 

Enable cleanup

Определяет, включена ли очистка каталогов старых версий

true

Encryption password

Пароль для шифрования свойств

 — 

RegEx pattern

Шаблон регулярного выражения для определения свойств, подлежащих шифрованию

 — 

Cleanup old version catalogs

Интервал очистки каталогов старых версий. Минимальное значение --10d

30d

Time to live of old version catalogs

Время жизни (TTL) каталогов старых версий. Минимальное значение — 1d

365d

node.properties
Параметр Описание Значение по умолчанию

node.environment

Название окружения, в котором функционирует узел. Должно совпадать для всех узлов кластера Trino

adh

node.id

Уникальный идентификатор узла

 — 

node.data-dir

Путь к директории для хранения данных узла

/srv/trino/data/coordinator

node.server-log-file

Путь к журнальному файлу сервера для узла

/var/log/trino/coordinator/server.log

node.launcher-log-file

Путь к журнальному файлу запуска для узла

/var/log/trino/coordinator/launcher.log

Прочее
Параметр Описание Значение по умолчанию

user-mapping.json

Содержимое файла user-mapping.json, определяющего регулярные выражения для приведения всех имен пользователей к формату Trino

env.sh

Содержимое файла env.sh, определяющего настройки окружения для Trino

jvm.config

Содержимое файла jvm.config, определяющего настройки виртуальной машины Java для Trino

Custom password-authenticator.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле password-authenticator.properties

 — 

Custom config.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле config.properties

 — 

Custom node.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле node.properties

 — 

Enable custom ulimits

Включение этой опции позволяет указать ограничения на использование ресурсов для процесса (ulimits). Если значения не указаны, будут использованы системные настройки по умолчанию. Настройки ulimit описаны в таблице ниже

[Service]
LimitCPU=
LimitFSIZE=
LimitDATA=
LimitSTACK=
LimitCORE=
LimitRSS=
LimitNOFILE=
LimitAS=
LimitNPROC=
LimitMEMLOCK=
LimitLOCKS=
LimitSIGPENDING=
LimitMSGQUEUE=
LimitNICE=
LimitRTPRIO=
LimitRTTIME=
Ulimit settings
Параметр Описание Соответствующая опция команды ulimit в CentOS

LimitCPU

Ограничение в секундах на количество процессорного времени, которое может потреблять процесс

cpu time ( -t)

LimitFSIZE

Максимальный размер файлов, которые может создать процесс, в блоках по 512 байт

file size ( -f)

LimitDATA

Максимальный размер сегмента данных процесса, в килобайтах

data seg size ( -d)

LimitSTACK

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

stack size ( -s)

LimitCORE

Максимальный размер файла дампа (core dump) в байтах, который процесс может сохранить, в блоках по 512 байт

core file size ( -c)

LimitRSS

Максимальное количество памяти RAM (resident set size), которое может быть выделено процессу, в килобайтах

max memory size ( -m)

LimitNOFILE

Максимальное количество дескрипторов открытых файлов, разрешенное для процесса

open files ( -n)

LimitAS

Максимальный размер виртуальной памяти (адресного пространства) процесса, в килобайтах

virtual memory ( -v)

LimitNPROC

Максимальное количество процессов

max user processes ( -u)

LimitMEMLOCK

Максимальный размер памяти, который может быть заблокирован для процесса, в килобайтах. Блокировка памяти гарантирует, что память всегда находится в оперативной памяти (RAM) и файл подкачки не используется

max locked memory ( -l)

LimitLOCKS

Максимальное количество файлов, заблокированных процессом

file locks ( -x)

LimitSIGPENDING

Максимальное количество сигналов, ожидающих доставки в вызывающий поток

pending signals ( -i)

LimitMSGQUEUE

Максимальное количество байтов в очередях сообщений POSIX. Очереди сообщений POSIX позволяют процессам обмениваться данными в форме сообщений

POSIX message queues ( -q)

LimitNICE

Максимальный уровень приоритета NICE, который может быть назначен процессу

scheduling priority ( -e)

LimitRTPRIO

Максимальный приоритет планирования в реальном времени

real-time priority ( -r)

LimitRTTIME

Максимальный размер буфера конвейера (pipe), в блоках по 512 байт

pipe size ( -p)

Компонент Trino Worker
config.properties
Параметр Описание Значение по умолчанию

coordinator

Определяет, выступает ли данный узел как координатор

false

http-server.authentication.allow-insecure-over-http

Определяет, разрешены ли небезопасные HTTP-соединения при включенной аутентификации

true

http-server.http.port

HTTP-порт сервера

18189

discovery.uri

URI для сервиса обнаружения. Обычно — полное доменное имя (FQDN) с номером порта

 — 

join-distribution-type

Используемый тип распределенного JOIN

AUTOMATIC

redistribute-writes

Определяет, перераспределять ли данные перед записью

true

query.max-cpu-time

Максимальное количество процессорного времени, которое может быть использовано запросом по всему кластеру. Запросы, превышающие это ограничение, принудительно завершаются

1_000_000_000d

query.max-memory-per-node

Максимальное количество памяти, которое запрос может использовать на узле Trino worker

 — 

query.max-memory

Максимальное количество памяти, которое запрос может использовать по всему кластеру

20GB

query.max-total-memory

Максимальное количество памяти, которое запрос может использовать по всему кластеру, включая отзываемую память

40GB

memory.heap-headroom-per-node

Количество памяти, оставляемое для резерва (буфер) в heap-памяти Java-машины для распределения, не отслеживаемого Trino

 — 

exchange.deduplication-buffer-size

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

 — 

query.client.timeout

Тайм-аут для работы кластера без связи с клиентским приложением прежде чем он завершит работу

5m

query.execution-policy

Алгоритм для организации обработки всех стадий запроса

phased

query.determine-partition-count-for-write-enabled

Определяет, выбирается ли количество секций на количестве данных, которые были считаны и подготовлены запросом для запросов на запись

false

query.max-hash-partition-count

Максимальное количество секций для использования при обработке распределенных операций

100

query.min-hash-partition-count-for-write

Минимальное количество секций для использования при обработке распределенных операций в запросах на запись

50

query.max-writer-task-count

Максимальное количество задач, которые примут участие в записи данных во время запросов INSERT, CREATE TABLE AS SELECT и EXECUTE. Это ограничение применяется, только если включены параметры redistribute-writes или scale-writers

100

query.low-memory-killer.policy

Определяет режим принудительного завершения запросов при исчерпании памяти

total-reservation-on-blocked-nodes

query.max-execution-time

Максимальное время исполнения запроса в кластере перед его завершением. Это время не включает в себя анализ, планирование и нахождение в очереди

100d

query.max-length

Максимальное количество символов в тексте SQL-запроса. Запросы длиннее этого значения не обрабатываются и завершаются с ошибкой QUERY_TEXT_TOO_LARGE

1000000

query.max-planning-time

Максимальное количество времени для планирования исполнения запроса

10m

query.max-run-time

Максимальное количество времени для обработки запроса в кластере перед его завершением

100d

query.max-scan-physical-bytes

Максимальное количество байт, которое может быть сканировано запросом в процессе исполнения

 — 

query.remote-task.max-error-duration

Тайм-аут для удаленных (remote) задач, которым не удается связаться с Trino coordinator. Если координатор не получает никаких данных от удаленной задачи в течение этого времени, он считает задачу завершенной с ошибкой

1m

query.max-stage-count

Максимальное разрешенное количество стадий на один запрос

150

query.max-history

Максимальное количество запросов, хранимое в истории для предоставления статистики и другой информации, а также для отображения данных в веб-интерфейсе

100

query.min-expire-age

Минимальный возраст запроса в истории для того, чтобы он мог считаться неактуальным. Неактуальные запросы удаляются из буфера истории и становятся недоступными в веб-интерфейсе

15m

query.remote-task.enable-adaptive-request-size

Определяет, используется ли динамическая генерация сплитов серверных запросов, присылаемых задачами. Это может предотвратить ошибки исчерпания памяти для больших схем

true

query.remote-task.guaranteed-splits-per-task

Минимальное количество сплитов, которые должны быть назначены каждой удаленной задаче для обеспечения минимального количества работы у каждой из этих задач

3

query.remote-task.max-request-size

Максимальный размер одного запроса, создаваемого удаленной задачей. Для работы этого параметра необходимо, чтобы был включен параметр query.remote-task.enable-adaptive-request-size

8MB

query.remote-task.request-size-headroom

Определяет размер резервной памяти, которую необходимо выделять сверх размера данных запроса. Для работы этого параметра необходимо, чтобы был включен параметр query.remote-task.enable-adaptive-request-size

2MB

query.info-url-template

URL для перенаправления клиентов к альтернативному расположению информации запроса

 — 

retry-policy

Политика повторного запуска для отказоустойчивого выполнения

NONE

sql.forced-session-time-zone

Определяет, устанавливать ли принудительно часовой пояс для всех обрабатываемых запросов в заданное значение и таким образом игнорировать часовой пояс клиента. Часовой пояс должен быть задан строкой

 — 

sql.default-catalog

Каталог по умолчанию для всех клиентов. Любая конфигурация каталога по умолчанию, предоставляемая клиентом, перезаписывает это значение

 — 

sql.default-schema

Схема по умолчанию для всех клиентов. Значением этого параметра должно являться имя схемы, допустимое для каталога по умолчанию. Любая конфигурация схемы по умолчанию, предоставляемая клиентом, перезаписывает это значение

 — 

sql.default-function-catalog

Каталог по умолчанию для хранилища пользовательских функций для всех клиентов

 — 

sql.default-function-schema

Схема по умолчанию для UDF-хранилища для всех клиентов

 — 

sql.path

Набор путей по умолчанию к функциям или табличным функциям в определенных каталогах и схемах. Пути определяются в формате catalog_name.schema_name

 — 

spill-enabled

Определяет, используется ли переброс памяти на диск во избежание превышения ограничений памяти для запроса

false

spiller-spill-path

Путь для переброса памяти на диск

 — 

spiller-max-used-space-threshold

Если для заданного пути переброса памяти процент использования дискового пространства превышает значение этого парамтра, то этот путь не будет использоваться для переброса

0.9

spiller-threads

Количество потоков переброса памяти. Увеличьте это значение, если его будет не хватать для насыщения диска, на который ведется переброс (например, при использовании RAID)

4

max-spill-per-node

Максимальный размер пространства, используемый всеми запросами на одном узле для переброса памяти. Это значение необходимо задавать только на узлах Trino worker

100GB

query-max-spill-per-node

Максимальный размер пространства, используемый одним запросом на одном узле для переброса памяти. Это значение необходимо задавать только на узлах Trino worker

100GB

aggregation-operator-unspill-memory-limit

Ограничение размера памяти, используемой для обратного переброса одним экземпляром оператора агрегации

4MB

spill-compression-codec

Кодек компрессии, используемый при перебросе страниц памяти на диск

NONE

spill-encryption-enabled

Установите значение true для этого параметра, чтобы создать случайный секретный ключ для каждого файла переброса с целью шифрования и расшифрования данных, передаваемых на диск

false

exchange.client-threads

Количество потоков, используемых Exchange-клиентами для извлечения данных из других узлов Trino nodes. Более высокое значение этого параметра может привести к увеличению производительности для больших кластеров или кластеров с большой многопоточностью. Слишком большие значения могут привести к падению производительности из-за переключений контекста и дополнительного использования памяти

25

exchange.concurrent-request-multiplier

Множитель, определяющий количество одновременных запросов относительно доступного размера буфера памяти

3

exchange.compression-codec

Кодек, используемый для сжатия и распаковки файлов при обмене данными между узлами и exchange-хранилищем при отказоустойчивом режиме исполнения

LZ4

exchange.data-integrity-verification

Действие при обнаружении нарушения целостности данных

ABORT

exchange.max-buffer-size

Размер буфера exchange-клиента, содержащего данные, полученные от остальных узлов перед началом их обработки

32MB

exchange.max-response-size

Максимальный размер ответа, возвращаемого из exchange-запроса

16MB

sink.max-buffer-size

Размер выходного буфера для данных задач, которые ожидают подбора задачами выше по плану исполнения

32MB

sink.max-broadcast-buffer-size

Размер широковещательного буфера для данных задач, которые ожидают подбора задачами выше по плану исполнения

200MB

task.concurrency

Локальная многопоточность по умолчанию для параллельных операторов (например, объединение и агрегация)

 — 

task.http-response-threads

Максимальное количество потоков, которые могут быть созданы для обработки HTTP-ответов

100

task.http-timeout-threads

Количество потоков, используемых для обработки тайм-аутов при создании HTTP-ответов

3

task.info-update-interval

Интервал времени для обновления информации о задаче, используемый планировщиком. Более высокие значения могут привести к снижению нагрузки на процессор координатора, но также и к неоптимальному планированию генерации сплитов

3s

task.max-drivers-per-task

Максимальное количество драйверов, которые задача может выполнять одновременно

2147483647

task.max-partial-aggregation-memory

Максимальный размер результата частичной агрегации для распределенных агрегаций

16MB

task.max-worker-threads

Количество потоков, используемых узлом worker для обработки сплитов

 — 

task.min-drivers

Целевое количество работающих leaf-сплитов на узле Trino worker

 — 

task.min-drivers-per-task

Минимальное количество драйверов, которые гарантированно будут выполняться одновременно для одной задачи при условии, что у задачи остаются сплиты для обработки

3

task.min-writer-count

Минимальное количество одновременных потоков на запись для одного запроса одного узла Trino worker при условии, что не используются предпочтительное секционирование и масштабирование задач записи

1

task.max-writer-count

Максимальное количество одновременных потоков на запись для одного запроса одного узла Trino worker при условии, что не используются предпочтительное секционирование и масштабирование задач записи

 — 

task.interrupt-stuck-split-tasks-enabled

Установите значение true для этого параметра, чтобы позволить Trino обнаруживать задачи и считать их завершенными с ошибкой, если они содержат сплиты, которые не выполняются и не завершаются

true

task.interrupt-stuck-split-tasks-warning-threshold

Ограничение на время выполнения сплитов, после которого выводится стек вызовов на эндпойнте /v1/maxActiveSplits и генерируются метрики JMX

10m

task.interrupt-stuck-split-tasks-timeout

Тайм-аут блокировки потока обработки сплита, после которого Trino считает задачу завершенной с ошибкой

10m

task.interrupt-stuck-split-tasks-detection-interval

Интервал проверки наличия сплитов, чье время обработки превышает значение параметра task.interrupt-stuck-split-tasks-timeout

2m

use-preferred-write-partitioning

Определяет, включено ли использование предпочтительного секционирования записи. При значении true каждая секция записывается отдельным обработчиком

true

scale-writers

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

true

task.scale-writers.enabled

Определяет, используется ли масштабирование количества одновременных обработчиков записи в одной задаче

true

writer-scaling-min-data-processed

Минимальный размер несжатых данных, которые должны быть обработаны прежде чем может быть добавлен новый обработчик записи

100MB

node-scheduler.max-splits-per-node

Целевое значение общего количества сплитов, которые могут выполняться на каждом узле Trino worker, при условии, что все сплиты имеют стандартный вес

256

node-scheduler.min-pending-splits-per-task

Минимальное количество сплитов со стандартным весом, не находящихся в обработке, которые гарантированно будут распределены на узел (даже если узел уже достиг предела общего количества сплитов) для одной задачи, при условии, что у задачи остались сплиты для обработки

16

node-scheduler.max-adjusted-pending-splits-per-task

Максимальное количество сплитов со стандартным весом, не находящихся в обработке, которые гарантированно будут распределены на узел (даже если узел уже достиг предела общего количества сплитов) для одной задачи, при условии, что у задачи остались сплиты для обработки

2000

node-scheduler.max-unacknowledged-splits-per-task

Максимальное количество сплитов, которые либо стоят в очереди координатора, но еще не отправлены, либо получены Trino worker с подтверждением

2000

node-scheduler.min-candidates

Минимальное количество узлов-кандидатов, которые должны пройти оценку планировщиком при выборе узла для генерации сплита

10

node-scheduler.policy

Политика планировщика при выборе узлов для генерации сплита

uniform

optimizer.dictionary-aggregation

Определяет, используется ли оптимизация для агрегации в справочниках

false

optimizer.optimize-hash-generation

Установите значение true для этого параметра, чтобы вычисление хеш-кодов для распределений, объединений и агрегаций происходило заранее в процессе исполнения, что позволяет впоследствии делиться результатами между операциями в запросе

false

optimizer.optimize-metadata-queries

Определяет, следует ли перемещать агрегацию после оператора OUTER JOIN, если агрегация находится перед ним, а все столбцы из внешней части оператора JOIN находится в операторе группировки

true

optimizer.distinct-aggregations-strategy

Режим оптимизации, используемый для множественных раздельных агрегаций

AUTOMATIC

optimizer.push-table-write-through-union

Определяет, использовать ли параллельную запись при использовании оператора UNION ALL в запросах, записывающих данные

true

optimizer.join-reordering-strategy

Режим переупорядочивания объединений. Значение NONE подразумевает использование того же порядка таблиц, в котором они перечислены в запросе

AUTOMATIC

optimizer.max-reordered-joins

Максимальное количество объединений, которые могут быть переупорядочены за один раз, если параметр optimizer.join-reordering-strategy имеет значение cost-based

8

optimizer.optimize-duplicate-insensitive-joins

Определяет, следует ли уменьшать количество строк, порождаемых при объединениях, если оптимизатор обнаруживает возможность пропуска строк в результате выполнения дублирующихся объединений

true

optimizer.use-exact-partitioning

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

false

optimizer.use-table-scan-node-partitioning

Определяет, следует ли при чтении таблиц использовать секционирование табличного узла, предоставленное коннектором

true

optimizer.table-scan-node-partitioning-min-bucket-to-task-ratio

Минимальное соотношение количества bucket и задач, при достижении или превышении которого используется секционирование табличных узлов для сканирования

0.5

optimizer.filter-conjunction-independence-factor

Масштаб допуска независимости для оценки селективности конъюнкции множественных предикатов

0.75

optimizer.join-multi-clause-independence-factor

Масштаб допуска независимости для оценки результатов объединения множественных операторов

0.25

optimizer.non-estimatable-predicate-approximation.enabled

Определяет, следует ли использовать оптимизатор на основе затрат для определения необходимости повторного секционирования результатов стадии, которые уже были секционированы

true

optimizer.join-partitioned-build-min-row-count

Минимальное количество строк на стороне сборки объединения, необходимое для использования секционированного поиска соединения

1000000

optimizer.min-input-size-per-task

Минимальный размер входных данных, необходимых для одной задачи

5GB

optimizer.min-input-rows-per-task

Минимальное количество входных строк, необходимых для одной задачи

10000000

log.annotation-file

Имя файла с дополнительными свойствами, содержащего аннотации для добавления к сообщениям в логе для TCP-вывода или файлового вывода в формате JSON, определенного параметрами log.path и log.format

 — 

log.path

Путь к лог-файлу, используемому Trino. Этот путь является относительным к директории данных, заданной как var/log/server.log скриптом запуска

 — 

log.max-size

Максимальный размер для лог-файла главного приложения

100MB

log.max-total-size

Максимальный общий размер лог-файлов главного приложения

1GB

log.compression

Формат компрессии, используемый для лог-файлов при ротации. Возможные значения: GZIP и NONE. При значении NONE компрессия не используется

GZIP

http-server.log.enabled

Определяет, используется ли логирование для HTTP-сервера

true

http-server.log.compression.enabled

Определяет, используется ли компрессия лог-файлов для HTTP-сервера

true

http-server.log.path

Путь к лог-файлу HTTP-сервера

/var/log/trino/http-request.log

http-server.log.max-history

Максимальное количество лог-файлов HTTP-сервера перед использованием ротации

15

http-server.log.max-size

Максимальный размер лог-файла HTTP-сервера

 — 

re2j.dfa-states-limit

Максимальное количество состояний для использования, когда RE2J собирает быстрый, но потенциально ресурсоемкий детерминированный конечный автомат (ДКА) для поиска соответствий регулярных выражений

2147483647

re2j.dfa-retries

Количество повторных попыток использования алгоритма ДКА RE2J по достижении ограничения количества состояний. После этого для всех последующих вводных данных для этого запроса он использует недетерминированный конечный автомат (НКА), который является более медленным, но менее ресурсоемким

5

node.internal-address-source

Установите значение FQDN для этого параметра для обеспечения корректной работы и использования действительных DNS-имен в Kerberos

FQDN

access-control.config-files

Путь к файлу конфигурации контроля доступа

/etc/trino/conf/access-control.properties

internal-communication.shared-secret

Строка, используемая координаторами и исполнителями одного и того же кластера для аутентификации внутри него

 — 

Kerberos Configuration
Параметр Описание Значение по умолчанию

http-server.authentication.krb5.service-name

Имя сервера Kerberos для аутентификации

HTTP

http-server.authentication.krb5.principal-hostname

Принципал имени узла для аутентификации Kerberos

 — 

http-server.authentication.krb5.keytab

Путь к файлу keytab для аутентификации Kerberos

/etc/security/keytabs/HTTP.service.keytab

http.authentication.krb5.config

Путь к конфигурационному файлу Kerberos

/etc/krb5.conf

http-server.authentication.krb5.user-mapping.file

Файл, содержащий правила для соотнесения принципалов Kerberos с локальными именами пользователей

 — 

SSL Configuration
Параметр Описание Значение по умолчанию

http-server.http.enabled

Определяет, включен ли HTTP для HTTP-сервера

true

internal-communication.https.required

Определяет, используется ли SSL/TLS для всех внутренних коммуникаций

false

http-server.https.enabled

Определяет, используется ли HTTPS для HTTP-сервера

false

http-server.https.port

HTTPS-порт сервера

18189

http-server.https.keystore.path

Путь к файлу keystore для HTTPS

 — 

http-server.https.keystore.key

Пароль для keystore, используемый в HTTPS

 — 

http-server.https.truststore.path

Путь к файлу truststore для HTTPS

 — 

http-server.https.truststore.key

Пароль для truststore, используемый в HTTPS

 — 

internal-communication.https.keystore.path

Путь к файлу keystore для внутренней коммуникации в кластере Trino через HTTPS

 — 

internal-communication.https.keystore.key

Пароль для keystore для внутренней коммуникации в кластере Trino через HTTPS

 — 

internal-communication.https.truststore.path

Путь к файлу truststore для внутренней коммуникации в кластере Trino через HTTPS

 — 

internal-communication.https.truststore.key

Пароль для truststore для внутренней коммуникации в кластере Trino через HTTPS

 — 

node.properties
Параметр Описание Значение по умолчанию

node.environment

Название окружения, в котором функционирует узел. Должно совпадать для всех узлов кластера Trino

adh

node.id

Уникальный идентификатор узла

 — 

node.data-dir

Путь к директории для хранения данных узла

/srv/trino/data/worker

catalog.config-dir

Путь к директории для конфигураций каталога

/etc/trino/conf/catalog

node.server-log-file

Путь к журнальному файлу сервера для узла

/var/log/trino/worker/server.log

node.launcher-log-file

Путь к журнальному файлу запуска для узла

/var/log/trino/worker/launcher.log

Прочее
Параметр Описание Значение по умолчанию

env.sh

Содержимое файла env.sh, определяющего настройки окружения для Trino

jvm.config

Содержимое файла jvm.config, определяющего настройки виртуальной машины Java для Trino

Custom config.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле config.properties

 — 

Custom node.properties

В этой секции вы можете указать значения для кастомных параметров, которые не отображаются в интерфейсе ADCM, но могут присутствовать в конфигурационном файле node.properties

 — 

Enable custom ulimits

Включение этой опции позволяет указать ограничения на использование ресурсов для процесса (ulimits). Если значения не указаны, будут использованы системные настройки по умолчанию. Настройки ulimit описаны в таблице ниже

[Service]
LimitCPU=
LimitFSIZE=
LimitDATA=
LimitSTACK=
LimitCORE=
LimitRSS=
LimitNOFILE=
LimitAS=
LimitNPROC=
LimitMEMLOCK=
LimitLOCKS=
LimitSIGPENDING=
LimitMSGQUEUE=
LimitNICE=
LimitRTPRIO=
LimitRTTIME=
Ulimit settings
Параметр Описание Соответствующая опция команды ulimit в CentOS

LimitCPU

Ограничение в секундах на количество процессорного времени, которое может потреблять процесс

cpu time ( -t)

LimitFSIZE

Максимальный размер файлов, которые может создать процесс, в блоках по 512 байт

file size ( -f)

LimitDATA

Максимальный размер сегмента данных процесса, в килобайтах

data seg size ( -d)

LimitSTACK

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

stack size ( -s)

LimitCORE

Максимальный размер файла дампа (core dump) в байтах, который процесс может сохранить, в блоках по 512 байт

core file size ( -c)

LimitRSS

Максимальное количество памяти RAM (resident set size), которое может быть выделено процессу, в килобайтах

max memory size ( -m)

LimitNOFILE

Максимальное количество дескрипторов открытых файлов, разрешенное для процесса

open files ( -n)

LimitAS

Максимальный размер виртуальной памяти (адресного пространства) процесса, в килобайтах

virtual memory ( -v)

LimitNPROC

Максимальное количество процессов

max user processes ( -u)

LimitMEMLOCK

Максимальный размер памяти, который может быть заблокирован для процесса, в килобайтах. Блокировка памяти гарантирует, что память всегда находится в оперативной памяти (RAM) и файл подкачки не используется

max locked memory ( -l)

LimitLOCKS

Максимальное количество файлов, заблокированных процессом

file locks ( -x)

LimitSIGPENDING

Максимальное количество сигналов, ожидающих доставки в вызывающий поток

pending signals ( -i)

LimitMSGQUEUE

Максимальное количество байтов в очередях сообщений POSIX. Очереди сообщений POSIX позволяют процессам обмениваться данными в форме сообщений

POSIX message queues ( -q)

LimitNICE

Максимальный уровень приоритета NICE, который может быть назначен процессу

scheduling priority ( -e)

LimitRTPRIO

Максимальный приоритет планирования в реальном времени

real-time priority ( -r)

LimitRTTIME

Максимальный размер буфера конвейера (pipe), в блоках по 512 байт

pipe size ( -p)

Компонент Haproxy Trino
Параметр Описание Значение по умолчанию

haproxy-trino.cfg

Шаблон Jinja с конфигурацией HAProxy

Specifies the location of the certificate in standard .PEM format

Путь к сертификату в формате PEM

/etc/ssl/serverkey.pem

/etc/syslog-ng/conf.d/haproxy-trino.conf

Конфигурация syslog-ng для Haproxy Trino. Используется, если syslog-ng установлен в системе

/etc/rsyslog.d/haproxy-trino.conf

Конфигурация rsyslog для Haproxy Trino. Используется, если rsyslog установлен в системе

Компонент Trino Client
config.properties
Параметр Описание Значение по умолчанию

catalog

Каталог Trino по умолчанию

 — 

client-info

Дополнительная информация о клиенте, отправляющем запросы

 — 

client-request-timeout

Тайм-аут на выполнение запроса от клиента

2m

client-tags

Разделенный запятыми список тегов, предоставляющих дополнительную информацию о клиенте и пользователе

 — 

editing-mode

Режим редактирования. Возможные значения: VI, EMACS

EMACS

encoding

Устанавливает кодировку для протокола буферизации (spooling)

json+zstd,json+lz4,json

external-authentication-redirect-handler

Указывает обработчик редиректов для внешней аутентификации

ALL

extra-credential

Дополнительные учетные данные в формате ключ/значение

 — 

history-file

Путь к файлу с историей команд

${user.home}/.trino_history

network-logging

Уровень детализации сетевых логов клиента. Возможные значения: NONE, BASIC, HEADERS, BODY

NONE

output-format

Формат вывода для пакетной обработки (batch mode)

CSV

output-format-interactive

Формат вывода для интерактивной обработки

ALIGNED

pager

Путь к pager-программе, используемой для просмотра результатов запроса

less

path

Устанавливает дефолтный путь SQL на уровне сессии

 — 

schema

Схема по умолчанию. Указывается вместе с catalog

 — 

server

Расположение сервера Trino (Trino Coordinator или Trino Haproxy)

<TrinoCoordinatorHost> или <TrinoHaproxyHost>

session

Свойства сессии Trino в формате ключ/значение

 — 

source

Имя приложения или источника, подключающегося к Trino

trino-cli

timezone

Часовой пояс для сессии

UTC

user

Имя пользователя для подключения к серверу Trino

 — 

Kerberos Configuration
Параметр Описание Значение по умолчанию

krb5-remote-service-name

Сервисное имя для удаленного подключения

HTTP

SSL configuration
Параметр Описание Значение по умолчанию

keystore-password

Пароль к keystore-файлу

 — 

keystore-path

Расположение keystore-файла

 — 

truststore-password

Пароль к truststore-файлу

 — 

truststore-path

Расположение truststore-файла

 — 

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней