Trino configuration parameters

To configure the service, use the following configuration parameters in ADCM.

NOTE
  • Some of the parameters become visible in the ADCM UI after the Advanced flag has been set.

  • The parameters that are set in the Custom group will overwrite the existing parameters even if they are read-only.

Hive configuration
Parameter Description Default value

connector.name

Connector type

hive

hive.metastore.uri

URI for the Hive Metastore service

 — 

hive.storage-format

Storage format for the Hive data

PARQUET

hive.compression-codec

Compression codec for the Hive data

SNAPPY

hive.metastore.thrift.impersonation.enabled

Defines whether the Thrift impersonation mechanism is enabled for the Hive Metastore requests

true

fs.hadoop.enabled

Defines whether the HDFS access is supported

false

hive.config.resources

Optional comma-separated list of HDFS configuration files

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

hive.non-managed-table-writes-enabled

Defines whether writing to non-managed (external) Hive tables is enabled

true

hive.metastore.authentication.type

Defines whether Kerberos authentication is enabled for Hive Metastore access

 — 

hive.metastore.service.principal

Kerberos principal for the Hive Metastore service

 — 

hive.metastore.client.principal

Kerberos principal for the Trino client connecting to Hive Metastore

 — 

hive.metastore.client.keytab

Path to the keytab file for the Trino Kerberos client

 — 

hive.hdfs.authentication.type

Defines whether the Kerberos authentication is enabled for HDFS access

 — 

hive.hdfs.impersonation.enabled

Defines whether the impersonation mechanism is used for end users to access the HDFS

false

hive.hdfs.trino.principal

Trino client Kerberos principal for connection to the Hive Metastore

 — 

hive.hdfs.trino.keytab

Path to the keytab file for the Trino Kerberos client

 — 

hive.metastore.thrift.client.ssl.enabled

Defines whether SSL is enabled for the Hive Metastore Thrift client

false

hive.metastore.thrift.client.ssl.key

Path to the keystore for SSL authentication

 — 

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

Password for the keystore used in SSL authentication

 — 

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

Path to the truststore for SSL authentication

 — 

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

Password for the truststore used in SSL authentication

 — 

Iceberg configuration
Parameter Description Default value

connector.name

Connector type

iceberg

hive.metastore.uri

URI for the Hive Metastore service

 — 

iceberg.catalog.type

Catalog type for Iceberg

hive_metastore

iceberg.file-format

File format for Iceberg tables

PARQUET

iceberg.compression-codec

Compression codec for Iceberg tables

SNAPPY

hive.metastore.thrift.impersonation.enabled

Defines whether the Thrift impersonation mechanism is enabled for the Hive Metastore requests

true

fs.hadoop.enabled

Defines whether the HDFS access is supported

false

hive.config.resources

Optional comma-separated list of HDFS configuration files

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

hive.metastore.authentication.type

Defines whether Kerberos authentication is enabled for Hive Metastore access

 — 

hive.metastore.service.principal

Kerberos principal for the Hive Metastore service

 — 

hive.metastore.client.principal

Kerberos principal for the Trino client connecting to Hive Metastore

 — 

hive.metastore.client.keytab

Path to the keytab file for the Trino Kerberos client

 — 

hive.hdfs.authentication.type

Defines whether the Kerberos authentication is enabled for HDFS access

 — 

hive.hdfs.impersonation.enabled

Defines whether the impersonation mechanism is used for end users to access the HDFS

false

hive.hdfs.trino.principal

Trino client Kerberos principal for connection to the Hive Metastore

 — 

hive.hdfs.trino.keytab

Path to the keytab file for the Trino Kerberos client

 — 

hive.metastore.thrift.client.ssl.enabled

Defines whether SSL is enabled for the Hive Metastore Thrift client

false

hive.metastore.thrift.client.ssl.key

Path to the keystore for SSL authentication

 — 

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

Password for the keystore used in SSL authentication

 — 

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

Path to the truststore for SSL authentication

 — 

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

Password for the truststore used in SSL authentication

 — 

Custom catalogs
Parameter Description Default value

Connector properties

In this section you can add custom catalog records by clicking +1 and entering the properties for the new connector

 — 

resource-groups.properties
Parameter Description Default value

resource-groups.configuration-manager

Source of the configuration for the resource group manager: JSON file or database

file

resource-groups.config-db-url

URL of the database to load the configuration from

 — 

resource-groups.config-db-user

Username for the database connection

 — 

resource-groups.config-db-password

Password for the database connection

 — 

resource-groups.config-file

Path to the JSON configuration file for the resource group manager

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

resource-groups.max-refresh-interval

Maximum time period for which the cluster will continue to accept queries after configuration refresh failures. After this period the configuration will become invalidated

 — 

resource-groups.refresh-interval

Time interval (in seconds) for reloading the configuration

 — 

session-property-config.properties
Parameter Description Default value

Session property managers

Source of the configuration for the session property managers

file

session-property-manager.config-file

Path to the JSON configuration file for the session property managers

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

Fault-tolerant execution
Parameter Description Default value

retry-policy

Defines whether Trino should retry entire query, its individual tasks, or do nothing in the event of failure. The parameter accepts the following values:

  • NONE — disables FTE (default).

  • QUERY — if a Trino worker fails, Trino retries the entire query. This policy is recommended when the majority of Trino requests are small queries.

  • TASK — if a Trino worker fails, Trino retries individual query tasks. This policy is best suited for retrying large batch queries, however, it can result in higher latency for big number of short-running queries.

NONE

exchange.deduplication-buffer-size

Data size of the coordinator in-memory buffer used by fault-tolerant execution to store output of query stages

32MB

fault-tolerant-execution-exchange-encryption-enabled

Defines whether to use encryption for spooling data

false

task.low-memory-killer.policy

Defines whether to kill tasks in case of low memory availability. Takes one of the following values:

  • NONE — do not kill tasks.

  • total-reservation-on-blocked-nodes — kill the tasks that are part of the queries which are currently using the most memory specifically on nodes that are now out of memory.

  • least-waste — kill the tasks that are part of the queries which use significant amount of memory on nodes which are now out of memory. This policy avoids killing tasks which are executing for a long time in order not to waste the work done by them.

This parameter applies only if the retry-policy parameter has the TASK value

total-reservation-on-blocked-nodes

query-retry-attempts

Maximum number of times that Trino can attempt to retry a query before it is considered failed. This parameter applies only if the retry-policy parameter has the QUERY value

4

task-retry-attempts-per-task

Maximum number of times that Trino can attempt to retry a single task before its parent query is considered failed. This parameter applies only if the retry-policy parameter has the TASK value

4

retry-initial-delay

Minimum interval of time that a failed query or task must wait before it is retried. This parameter applies only if the retry-policy parameter has the TASK or QUERY value

10s

retry-max-delay

Maximum interval of time that a failed query or task must wait before it is retried. Wait time is increased on each subsequent failure. This parameter applies only if the retry-policy parameter has the TASK or QUERY value

1m

retry-delay-scale-factor

Factor by which retry delay is increased on each query or task failure. This parameter applies only if the retry-policy parameter has the TASK or QUERY value

2

exchange-manager.properties
Parameter Description Default value

exchange-manager.name

Type of storage for the intermediate data exchange between stages of a distributed query: HDFS or local filesystem

hdfs

exchange.base-directories

Comma-separated list of location URIs that the Exchange manager uses to store spooling data

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

hdfs.config.resources

Comma-separated list of paths to HDFS configuration files. The files must exist on all nodes of the Trino cluster

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

exchange.hdfs.auto-create-storage-dirs

Defines whether to automatically create HDFS storage directories if they do not exist

false

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

File system permissions for automatically created storage directories

755

exchange.sink-buffer-pool-min-size

Minimum buffer pool size for an exchange sink. The larger the buffer pool size, the larger the write parallelism and memory usage

10

exchange.sink-buffers-per-partition

Number of buffers per partition in the buffer pool. The larger the buffer pool size, the larger the write parallelism and memory usage

2

log.properties
Parameter Description Default value

io.trino

Global logging level for Trino

INFO

io.trino.server

Logging level for Trino server components

INFO

ranger-trino-audit.xml
Parameter Description Default value

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

Spool directory path

/srv/ranger/trino_plugin/audit_solr_spool

xasecure.audit.destination.solr.urls

A URL of the Solr server to store audit events. Leave this property value empty or set it to NONE when using ZooKeeper to connect to Solr

 — 

xasecure.audit.destination.solr.zookeepers

Specifies the ZooKeeper connection string for the Solr destination

 — 

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

Whether to use in-memory JAAS configuration file to connect to Solr

 — 

xasecure.audit.is.enabled

Enables Ranger audit

true

xasecure.audit.jaas.Client.loginModuleControlFlag

Specifies whether the success of the module is required, requisite, sufficient, or optional

 — 

xasecure.audit.jaas.Client.loginModuleName

Name of the authenticator class

 — 

xasecure.audit.jaas.Client.option.keyTab

Name of the keytab file to get the principal’s secret key

 — 

xasecure.audit.jaas.Client.option.principal

Name of the principal to be used

 — 

xasecure.audit.jaas.Client.option.serviceName

Name of a user or a service for login

 — 

xasecure.audit.jaas.Client.option.storeKey

Set this to true if you want the keytab or the principal’s key to be stored in the subject’s private credentials

 — 

xasecure.audit.jaas.Client.option.useKeyTab

Set this to true if you want the module to get the principal’s key from the keytab

 — 

xasecure.audit.jaas.Client.option.useTicketCache

Set this to true if you want the module to get the principal’s key from the cache

 — 

ranger-trino-security.xml
Parameter Description Default value

ranger.plugin.trino.access.cluster.name

Name to identify the Trino cluster. It is recorded in audit logs generated by the plugin

 — 

ranger.plugin.trino.super.users

Comma-separated list of usernames that have the superuser privileges

 — 

ranger.plugin.trino.super.groups

Comma-separated list of group names. Users from these groups are treated as superusers

 — 

ranger.plugin.trino.use.rangerGroups

Defines whether to obtain user-to-groups mapping from Apache Ranger

 — 

ranger.plugin.trino.policy.rest.url

The URL to Ranger Admin

 — 

ranger.plugin.trino.service.name

Name of the Ranger service containing policies for this Trino instance

 — 

ranger.plugin.trino.policy.cache.dir

Directory where Ranger policies are cached after a successful retrieval from the source

/srv/ranger/trino/policycache

ranger.plugin.trino.policy.pollIntervalMs

Defines how often to poll for changes in policies (in milliseconds)

30000

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

Trino plugin connection timeout in milliseconds

120000

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

Trino plugin read timeout in milliseconds

30000

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

Defines whether to use the UserStoreEnricher for fetching user and group attributes if using macros or scripts in row-filters (Ranger 2.3+)

true

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

Path to the RangerRestClient SSL config file for the Trino plugin

/etc/trino/conf/coordinator/ranger-trino-policymgr-ssl.xml

ranger.plugin.trino.ugi.initialize

Defines whether to initialize the Kerberos ID used to authenticate with Ranger Admin server

true

ranger.plugin.trino.ugi.login.type

Type of login. Use the keytab value

keytab

ranger.plugin.trino.ugi.keytab.principal

Kerberos principal

 — 

ranger.plugin.trino.ugi.keytab.file

Location of the keytab file

 — 

ranger-trino-policymgr-ssl.xml
Parameter Description Default value

xasecure.policymgr.clientssl.keystore

Path to the keystore file used by Ranger

 — 

xasecure.policymgr.clientssl.keystore.credential.file

Path to the keystore credentials file

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

xasecure.policymgr.clientssl.truststore.credential.file

Path to the truststore credentials file

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

xasecure.policymgr.clientssl.truststore

Path to the truststore file used by Ranger

 — 

xasecure.policymgr.clientssl.keystore.password

Password to the keystore file

 — 

xasecure.policymgr.clientssl.truststore.password

Password to the truststore file

 — 

access-control.properties
Parameter Description Default value

access-control.name

Type of access control. Possible values:

  • default — all operations are permitted, except for user impersonation and triggering graceful shutdown.

  • allow-all — all operations are permitted.

  • read-only — reading data or metadata is permitted, writing data or metadata is forbidden.

  • file — authorization rules are specified in a configuration file.

  • opa — Open Policy Agent (OPA) is used for authorization.

  • ranger — Apache Ranger policies are used for authorization.

default

ranger.service.name

Name of the Ranger service that has the policies to enforce

 — 

ranger.plugin.config.resource

Comma-separated list of Ranger plugin configuration files. Relative paths are resolved dynamically by searching in the classpath

 — 

ranger.hadoop.config.resource

Comma-separated list of Hadoop configuration files. Relative paths are resolved dynamically by searching in the classpath

 — 

security.config-file

Path to the configuration file with authorization rules

/etc/trino/conf/rules.json

opa.policy.uri

URI of the open policy agent (OPA)

 — 

Others
Parameter Description Default value

Custom Hive configuration

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed for Hive configuration

 — 

Custom Iceberg configuration

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed for Iceberg configuration

 — 

Custom resource-groups.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed for the resource group manager properties

 — 

Custom session-property-config.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed for the session property managers properties

 — 

Custom exchange-manager.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed for the Exchange manager properties

 — 

Custom log.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed for the logging properties

 — 

Custom ranger-trino-audit.xml

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed in the configuration file ranger-trino-audit.xml

 — 

Custom ranger-trino-security.xml

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed in the configuration file ranger-trino-security.xml

 — 

Custom ranger-trino-policymgr-ssl.xml

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed in the configuration file ranger-trino-policymgr-ssl.xml

 — 

Ranger plugin enabled

Defines whether to use the Ranger plugin for Trino

false

resource-groups.json

JSON file containing the configuration for the resource group manager

session-property-config.json

JSON file containing the configuration for the session property managers

ad-runtime-utils

YAML configuration file that contains the Java installation settings: version, installation path, and the environment variable

The Trino Coordinator component
config.properties
Parameter Description Default value

coordinator

Specifies whether this node acts as a coordinator

true

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

Defines whether non-secure HTTP connections are allowed when authentication is enabled

true

node-scheduler.include-coordinator

Defines whether the coordinator node should also schedule and run queries

true

http-server.http.port

HTTP port of the server

18188

discovery.uri

URI for the discovery service. Typically, the fully qualified domain name (FQDN) with the server port

 — 

join-distribution-type

Type of distributed JOIN to use

AUTOMATIC

redistribute-writes

Defines whether to redistribute data before writing

true

query.max-cpu-time

Maximum amount of CPU time that a query can use across the entire cluster. Queries that exceed this limit are killed

1_000_000_000d

query.max-memory-per-node

Maximum amount of user memory a query can use on a worker

 — 

query.max-memory

Maximum amount of user memory a query can use across the entire cluster

20GB

query.max-total-memory

Maximum amount of memory a query can use across the entire cluster, including revocable memory

40GB

memory.heap-headroom-per-node

Amount of memory set aside as headroom (buffer) in the JVM heap for allocations that are not tracked by Trino

 — 

exchange.deduplication-buffer-size

Size of the buffer used for spooled data during fault-tolerant execution

 — 

query.client.timeout

Timeout for the cluster to run without contact from the client application before it cancels its work

5m

query.execution-policy

Algorithm for organization of the processing of all the stages in a query

phased

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

Determines whether the number of partitions is based on amount of data read and processed by the query for write queries

false

query.max-hash-partition-count

Maximum number of partitions to use for processing distributed operations

100

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

Minimum number of partitions to use for processing distributed operations in write queries

50

query.max-writer-task-count

Maximum number of tasks that will take part in writing data during INSERT, CREATE TABLE AS SELECT, and EXECUTE queries. The limit is only applicable when the redistribute-writes or scale-writers parameter is enabled

100

query.low-memory-killer.policy

Defines the mode of dealing with running queries in the event of low memory availability

total-reservation-on-blocked-nodes

query.max-execution-time

Maximum time of query execution in the cluster before it is terminated. Execution time does not include analysis, query planning, or waiting in queue

100d

query.max-length

Maximum number of characters allowed for the SQL query text. Longer queries are not processed and terminated with the QUERY_TEXT_TOO_LARGE error

1000000

query.max-planning-time

Maximum allowed time for a query to plan the execution

10m

query.max-run-time

Maximum allowed time for a query to be processed in the cluster before it is terminated

100d

query.max-scan-physical-bytes

Maximum number of bytes that can be scanned by a query during its execution

 — 

query.remote-task.max-error-duration

Timeout for the remote tasks that fail to communicate with the coordinator. If the coordinator is unable to receive updates from a remote task before this value is reached, the coordinator treats the task as failed

1m

query.max-stage-count

Maximum number of stages allowed to be generated per query

150

query.max-history

Maximum number of queries to keep in the query history to provide statistics and other information, and make the data available in the web UI

100

query.min-expire-age

Minimum age of a query in the history before it is expired. An expired query is removed from the query history buffer and is no longer available in the web UI

15m

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

Defines whether dynamic splitting up of server requests sent by tasks is enabled. This can prevent out-of-memory errors for large schemas

true

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

Minimum number of splits that should be assigned to each remote task to ensure that each task has a minimum amount of work to perform

3

query.remote-task.max-request-size

Maximum size of a single request made by a remote task. Requires the query.remote-task.enable-adaptive-request-size parameter to be enabled

8MB

query.remote-task.request-size-headroom

Determines the amount of headroom that should be allocated beyond the size of the request data. Requires the query.remote-task.enable-adaptive-request-size parameter to be enabled

2MB

query.info-url-template

URL for redirection of clients to an alternative location for query information

 — 

retry-policy

Retry policy to use for fault-tolerant execution

NONE

catalog.prune.update-interval

Interval for pruning dropped catalogs. Requires the catalog.management parameter to be set to dynamic. Dropping a catalog does not interrupt any running queries that use it, but makes it unavailable to any new queries

5s

catalog.store

When set to file, creating and dropping catalogs using the SQL commands adds and removes catalog property files on the coordinator node. Requires the catalog.management parameter to be set to dynamic

 — 

sql.forced-session-time-zone

Defines whether to force set the time zone for any query processing to the configured value, and therefore override the time zone of the client. The time zone must be specified as a string

 — 

sql.default-catalog

Default catalog for all clients. Any default catalog configuration provided by a client overrides this default

 — 

sql.default-schema

Default schema for all clients. Must be set to a schema name that is valid for the default catalog. Any default schema configuration provided by a client overrides this default

 — 

sql.default-function-catalog

Default catalog for user-defined functions storage for all clients

 — 

sql.default-function-schema

Default schema for UDF storage for all clients

 — 

sql.path

Default collection of paths to functions or table functions in specific catalogs and schemas. Paths are specified as catalog_name.schema_name

 — 

spill-enabled

Defines whether spilling memory to disk to avoid exceeding memory limits for the query is enabled

false

spiller-spill-path

Path for spilling memory to disk

 — 

spiller-max-used-space-threshold

If disk space usage ratio of a given spill path is above this threshold, this spill path is not eligible for spilling

0.9

spiller-threads

Number of spiller threads. Increase this value if the default is not enough to saturate the underlying spilling device (for example, when using RAID)

4

max-spill-per-node

Maximum spill space to use by all queries on a single node. This only needs to be configured on worker nodes

100GB

query-max-spill-per-node

Maximum spill space to use by a single query on a single node. This only needs to be configured on worker nodes

100GB

aggregation-operator-unspill-memory-limit

Limit for memory used for unspilling a single aggregation operator instance

4MB

spill-compression-codec

Compression codec to use when spilling pages to disk

NONE

spill-encryption-enabled

Set this to true to randomly generate a secret key (per spill file) to encrypt and decrypt data spilled to disk

false

exchange.client-threads

Number of threads used by exchange clients to fetch data from other Trino nodes. A higher value can improve performance for large clusters or clusters with very high concurrency, but excessively high values may cause a drop in performance due to context switches and additional memory usage

25

exchange.concurrent-request-multiplier

Multiplier determining the number of concurrent requests relative to available buffer memory

3

exchange.compression-codec

Compression codec to use for file compression and decompression when exchanging data between nodes and the exchange storage with fault-tolerant execution mode

LZ4

exchange.data-integrity-verification

Resulting behavior when encountering data integrity issues

ABORT

exchange.max-buffer-size

Size of buffer in the exchange client that holds data fetched from other nodes before it is processed

32MB

exchange.max-response-size

Maximum size of a response returned from an exchange request

16MB

sink.max-buffer-size

Output buffer size for task data that is waiting to be pulled by upstream tasks

32MB

sink.max-broadcast-buffer-size

Broadcast output buffer size for task data that is waiting to be pulled by upstream tasks

200MB

task.concurrency

Default local concurrency for parallel operators, such as joins and aggregations

 — 

task.http-response-threads

Maximum number of threads that may be created to handle HTTP responses

100

task.http-timeout-threads

Number of threads used to handle timeouts when generating HTTP responses

3

task.info-update-interval

Time interval for task information renewal, which is used in scheduling. Larger values can reduce coordinator CPU load, but may result in suboptimal split scheduling

3s

task.max-drivers-per-task

Maximum number of drivers a task can run concurrently

2147483647

task.max-partial-aggregation-memory

Maximum size of partial aggregation results for distributed aggregations

16MB

task.max-worker-threads

Number of threads used by workers to process splits

 — 

task.min-drivers

Target number of running leaf splits on a worker

 — 

task.min-drivers-per-task

Minimum number of drivers guaranteed to run concurrently for a single task given the task has remaining splits to process

3

task.min-writer-count

Minimum number of concurrent writer threads per worker per query when preferred partitioning and task writer scaling are not used

1

task.max-writer-count

Maximum number of concurrent writer threads per worker per query when preferred partitioning and task writer scaling are not used

 — 

task.interrupt-stuck-split-tasks-enabled

Set this to true to allow Trino to detect and fail tasks containing splits that have been stuck

true

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

Defines the splits running time threshold after which call stacks at /v1/maxActiveSplits endpoint are printed out and JMX metrics are generated

10m

task.interrupt-stuck-split-tasks-timeout

Timeout for a blocked split processing thread before Trino fails the task

10m

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

Interval of Trino checks for splits that have processing time exceeding the task.interrupt-stuck-split-tasks-timeout parameter value

2m

use-preferred-write-partitioning

Defines whether preferred write partitioning is enabled. When set to true, each partition is written by a separate writer

true

scale-writers

Defines whether writer scaling by dynamically increasing the number of writer tasks on the cluster is enabled

true

task.scale-writers.enabled

Defines whether scaling the number of concurrent writers within a task is enabled

true

writer-scaling-min-data-processed

Minimum amount of uncompressed data that must be processed by a writer before another writer can be added

100MB

optimizer.dictionary-aggregation

Defines whether optimization for aggregations on dictionaries is used

false

optimizer.optimize-hash-generation

Set this to true to compute hash codes for distribution, joins, and aggregations early during execution, allowing result to be shared between operations later in the query

false

optimizer.optimize-metadata-queries

Defines whether to push the aggregation below the outer join when an aggregation is above an outer join and all columns from the outer side of the join are in the grouping clause

true

optimizer.distinct-aggregations-strategy

Strategy to use for multiple distinct aggregations

AUTOMATIC

optimizer.push-table-write-through-union

Defines whether to parallelize writes when using UNION ALL in queries that write data

true

optimizer.join-reordering-strategy

Join reordering strategy to use. NONE maintains the order the tables are listed in the query

AUTOMATIC

optimizer.max-reordered-joins

Maximum number of joins that can be reordered at once when the optimizer.join-reordering-strategy is set to cost-based

8

optimizer.optimize-duplicate-insensitive-joins

Defines whether to reduce the number of rows produced by joins when optimizer detects that duplicated join output rows can be skipped

true

optimizer.use-exact-partitioning

Defines whether to re-partition the data unless the partitioning of the upstream stage exactly matches what the downstream stage expects

false

optimizer.use-table-scan-node-partitioning

Defines whether to use the connector provided table node partitioning when reading tables

true

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

Specifies minimal bucket to task ratio that has to be matched or exceeded in order to use table scan node partitioning

0.5

optimizer.filter-conjunction-independence-factor

Scales the strength of independence assumption for estimating the selectivity of the conjunction of multiple predicates

0.75

optimizer.join-multi-clause-independence-factor

Scales the strength of independence assumption for estimating the output of a multi-clause join

0.25

optimizer.non-estimatable-predicate-approximation.enabled

Defines whether to use the cost based optimizer to determine if repartitioning the output of an already partitioned stage is necessary

true

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

Minimum number of join build side rows required to use partitioned join lookup

1000000

optimizer.min-input-size-per-task

Minimum input size required per task

5GB

optimizer.min-input-rows-per-task

Minimum number of input rows required per task

10000000

log.annotation-file

Name of an optional properties file that contains annotations to include with each log message for TCP output or file output in JSON format, defined by the log.path and log.format parameters

 — 

log.path

Path to the log file used by Trino. The path is relative to the data directory, configured to var/log/server.log by the launcher script

 — 

log.max-size

Maximum size for the general application log file

100MB

log.max-total-size

Maximum total size for the general application log files

1GB

log.compression

Compression format for rotated log files. Can be set to either GZIP or NONE. When set to NONE, compression is disabled

GZIP

http-server.log.enabled

Defines whether the logging for the HTTP server is enabled

true

http-server.log.compression.enabled

Defines whether the compression of the log files of the HTTP server is enabled

true

http-server.log.path

Path to the log file of the HTTP server

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

http-server.log.max-history

Maximum number of log files for the HTTP server to use before log rotation

15

http-server.log.max-size

Maximum file size for the log file of the HTTP server

 — 

re2j.dfa-states-limit

Maximum number of states to use when RE2J builds the fast, but potentially memory intensive, deterministic finite automaton (DFA) for regular expression matching

2147483647

re2j.dfa-retries

Number of times that RE2J retries the DFA algorithm, when it reaches a states limit before using the slower, but less memory intensive NFA algorithm, for all future inputs for that search

5

http-server.authentication.type

Authentication mechanism to allow user access to Trino

 — 

node.internal-address-source

Set this to FQDN to ensure correct operation and usage of valid DNS host names by Kerberos

FQDN

access-control.config-files

Path to the access control configuration file

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

password-authenticator.config-files

Password Authenticator configuration file

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

web-ui.user

User name for authentication in the web UI

trino

internal-communication.shared-secret

String used by coordinators and workers of the same cluster to authenticate within it

 — 

web-ui.authentication.type

Authentication mechanism that is used to allow user access to the UI

NONE

Kerberos Configuration
Parameter Description Default value

http-server.authentication.krb5.service-name

Kerberos service name for authentication

HTTP

http-server.authentication.krb5.principal-hostname

Principal hostname for Kerberos authentication

 — 

http-server.authentication.krb5.keytab

Path to the keytab file for Kerberos authentication

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

http.authentication.krb5.config

Path to the Kerberos configuration file

/etc/krb5.conf

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

File containing rules for mapping Kerberos principal names to local usernames

 — 

SSL Configuration
Parameter Description Default value

http-server.http.enabled

Defines whether HTTP is enabled for the HTTP server

true

internal-communication.https.required

Defines whether SSL/TLS is used for all internal communications

false

http-server.https.enabled

Defines whether HTTPS is enabled for the HTTP server

false

http-server.https.port

HTTPS port of the server

18188

http-server.https.keystore.path

Path to the keystore file for HTTPS

 — 

http-server.https.keystore.key

Password for the keystore used in HTTPS

 — 

http-server.https.truststore.path

Path to the truststore file for HTTPS

 — 

http-server.https.truststore.key

Password for the truststore used in HTTPS

 — 

internal-communication.https.keystore.path

Path to the keystore file for internal communication within Trino cluster via HTTPS

 — 

internal-communication.https.keystore.key

Password for the keystore used in internal communication within Trino cluster via HTTPS

 — 

internal-communication.https.truststore.path

Path to the truststore file for internal communication within Trino cluster via HTTPS

 — 

internal-communication.https.truststore.key

Password for the truststore used in internal communication within Trino cluster via HTTPS

 — 

Enable LDAP
Parameter Description Default value

password-authenticator.name

Specifies the name of the authenticator implementation

ldap

ldap.url

URL of the LDAP server

 — 

ldap.ssl.truststore.path

Path to the PEM or JKS keystore file

 — 

ldap.user-bind-pattern

LDAP user bind string for password authentication. Must contain the pattern ${USER} which is replaced by the actual username during the password authentication. Can contain multiple patterns separated by a colon

${USER}@example.com

ldap.allow-insecure

Defines whether connecting to the LDAP server without TLS is allowed

false

ldap.user-base-dn

Base LDAP distinguished name for the user who tries to connect to the server. Example: OU=Peoples,DC=example,DC=com

 — 

ldap.bind-dn

Bind distinguished name used by Trino when issuing group membership queries. Example: CN=admin,OU=CITY_OU,DC=domain

 — 

ldap.bind-password

Bind password used by Trino when issuing group membership queries

 — 

ldap.group-auth-pattern

Specifies the LDAP query for the LDAP group membership authorization

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

OAuth 2.0
Parameter Description Default value

http-server.authentication.oauth2.issuer

URL of the OAuth2 authorization server

 — 

http-server.authentication.oauth2.client-id

OAuth2 client identifier for Trino

 — 

http-server.authentication.oauth2.client-secret

OAuth2 client secret for authentication

 — 

JWT Auth
Parameter Description Default value

http-server.authentication.jwt.key-file

Specifies either the URL to a JWKS service or the path to a PEM or HMAC file

 — 

http-server.authentication.jwt.required-issuer

Specifies a string that must match the issuer of JWT (iss) field

 — 

http-server.authentication.jwt.required-audience

Specifies a string that must match the audience of JWT (aud) field

 — 

http-server.authentication.jwt.principal-field

Field in JWT that identifies the subject

sub

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

Regular expression pattern to map all user names for JWT authentication to the format expected by Trino

 — 

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

JSON file with user mapping rules for JWT authentication

 — 

Certificate Auth
Parameter Description Default value

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

Regular expression pattern to map all user names for certificate-based authentication to the format expected by Trino

 — 

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

Path to a JSON file with user mapping rules for certificate-based authentication

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

Password-file Auth
Parameter Description Default value

password-authenticator.name

Specifies the name of the authenticator implementation

file

file.password-file

Path to the password file

 — 

file.refresh-period

Defines how often to reload the password file

5s

file.auth-token-cache.max-size

Maximum number of cached authenticated passwords

1000

Trino catalog management
Parameter Description Default value

catalog.management

Catalog manager type

static

Postgres JDBC URL

JDBC connection URL of the Postgres catalog store

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

Postgres username

Postgres catalog store JDBC connection username

catalog

Postgres password

Postgres catalog store JDBC connection password

 — 

Enable cleanup

Defines whether the cleanup of the old version catalogs is enabled

true

Encryption password

Password for the properties encryption

 — 

RegEx pattern

Regular expression pattern for defining properties to be encrypted

 — 

Cleanup old version catalogs

Old version catalogs cleanup interval. Minimal value is 10d

30d

Time to live of old version catalogs

Time-to-live (TTL) of old version catalogs. Minimal value is 1d

365d

node.properties
Parameter Description Default value

node.environment

Name of the environment in which the node operates. Must be the same for all Trino nodes in a cluster

adh

node.id

Unique identifier of the node

 — 

node.data-dir

Path to the directory for node data storage

/srv/trino/data/coordinator

node.server-log-file

Path to the server log file for the node

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

node.launcher-log-file

Path to the launcher log file for the node

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

Others
Parameter Description Default value

user-mapping.json

Contents of the user-mapping.json file that contains regular expressions to map all user names to the format expected by Trino

env.sh

Contents of the env.sh file that contains Trino environment settings

jvm.config

Contents of the jvm.config file that contains the Java virtual machine settings for Trino

Custom password-authenticator.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed in the configuration file password-authenticator.properties

 — 

Custom config.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed in the configuration file config.properties

 — 

Custom node.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed in the configuration file node.properties

 — 

Enable custom ulimits

Switch on the corresponding toggle button to specify resource limits (ulimits) for the current process. If you do not set these values, the default system settings are used. Ulimit settings are described in the table below

[Service]
LimitCPU=
LimitFSIZE=
LimitDATA=
LimitSTACK=
LimitCORE=
LimitRSS=
LimitNOFILE=
LimitAS=
LimitNPROC=
LimitMEMLOCK=
LimitLOCKS=
LimitSIGPENDING=
LimitMSGQUEUE=
LimitNICE=
LimitRTPRIO=
LimitRTTIME=
Ulimit settings
Parameter Description Corresponding option of the ulimit command in CentOS

LimitCPU

A limit in seconds on the amount of CPU time that a process can consume

cpu time ( -t)

LimitFSIZE

Maximum size of files that a process can create, in 512-byte blocks

file size ( -f)

LimitDATA

Maximum size of a process’s data segment, in kilobytes

data seg size ( -d)

LimitSTACK

Maximum stack size allocated to a process, in kilobytes

stack size ( -s)

LimitCORE

Maximum size of a core dump file allowed for a process, in 512-byte blocks

core file size ( -c)

LimitRSS

The maximum amount of RAM memory (resident set size) that can be allocated to a process, in kilobytes

max memory size ( -m)

LimitNOFILE

Maximum number of open file descriptors allowed for the process

open files ( -n)

LimitAS

Maximum size of the process virtual memory (address space), in kilobytes

virtual memory ( -v)

LimitNPROC

Maximum number of processes

max user processes ( -u)

LimitMEMLOCK

Maximum memory size that can be locked for the process, in kilobytes. Memory locking ensures the memory is always in RAM and a swap file is not used

max locked memory ( -l)

LimitLOCKS

Maximum number of files locked by a process

file locks ( -x)

LimitSIGPENDING

Maximum number of signals that are pending for delivery to the calling thread

pending signals ( -i)

LimitMSGQUEUE

Maximum number of bytes in POSIX message queues. POSIX message queues allow processes to exchange data in the form of messages

POSIX message queues ( -q)

LimitNICE

Maximum NICE priority level that can be assigned to a process

scheduling priority ( -e)

LimitRTPRIO

Maximum real-time scheduling priority level

real-time priority ( -r)

LimitRTTIME

Maximum pipe buffer size, in 512-byte blocks

pipe size ( -p)

The Trino Worker component
config.properties
Parameter Description Default value

coordinator

Specifies whether this node acts as a coordinator

false

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

Defines whether non-secure HTTP connections are allowed when authentication is enabled

true

http-server.http.port

HTTP port of the server

18189

discovery.uri

URI for the discovery service. Typically, the fully qualified domain name (FQDN) with the server port

 — 

join-distribution-type

Type of distributed JOIN to use

AUTOMATIC

redistribute-writes

Defines whether to redistribute data before writing

true

query.max-cpu-time

Maximum amount of CPU time that a query can use across the entire cluster. Queries that exceed this limit are killed

 — 

query.max-memory-per-node

Maximum amount of user memory a query can use on a worker

 — 

query.max-memory

Maximum amount of user memory a query can use across the entire cluster

20GB

query.max-total-memory

Maximum amount of memory a query can use across the entire cluster, including revocable memory

40GB

memory.heap-headroom-per-node

Amount of memory set aside as headroom (buffer) in the JVM heap for allocations that are not tracked by Trino

 — 

exchange.deduplication-buffer-size

Size of the buffer used for spooled data during fault-tolerant execution

 — 

query.client.timeout

Timeout for the cluster to run without contact from the client application before it cancels its work

5m

query.execution-policy

Algorithm for organization of the processing of all the stages in a query

phased

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

Determines whether the number of partitions is based on amount of data read and processed by the query for write queries

false

query.max-hash-partition-count

Maximum number of partitions to use for processing distributed operations

100

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

Minimum number of partitions to use for processing distributed operations in write queries

50

query.max-writer-task-count

Maximum number of tasks that will take part in writing data during INSERT, CREATE TABLE AS SELECT, and EXECUTE queries. The limit is only applicable when the redistribute-writes or scale-writers parameter is enabled

100

query.low-memory-killer.policy

Defines the mode of dealing with running queries in the event of low memory availability

total-reservation-on-blocked-nodes

query.max-execution-time

Maximum time of query execution in the cluster before it is terminated. Execution time does not include analysis, query planning, or waiting in queue

100d

query.max-length

Maximum number of characters allowed for the SQL query text. Longer queries are not processed and terminated with the QUERY_TEXT_TOO_LARGE error

1000000

query.max-planning-time

Maximum allowed time for a query to plan the execution

10m

query.max-run-time

Maximum allowed time for a query to be processed in the cluster before it is terminated

100d

query.max-scan-physical-bytes

Maximum number of bytes that can be scanned by a query during its execution

 — 

query.remote-task.max-error-duration

Timeout for the remote tasks that fail to communicate with the coordinator. If the coordinator is unable to receive updates from a remote task before this value is reached, the coordinator treats the task as failed

1m

query.max-stage-count

Maximum number of stages allowed to be generated per query

150

query.max-history

Maximum number of queries to keep in the query history to provide statistics and other information, and make the data available in the web UI

100

query.min-expire-age

Minimum age of a query in the history before it is expired. An expired query is removed from the query history buffer and is no longer available in the web UI

15m

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

Defines whether dynamic splitting up of server requests sent by tasks is enabled. This can prevent out-of-memory errors for large schemas

true

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

Minimum number of splits that should be assigned to each remote task to ensure that each task has a minimum amount of work to perform

3

query.remote-task.max-request-size

Maximum size of a single request made by a remote task. Requires the query.remote-task.enable-adaptive-request-size parameter to be enabled

8MB

query.remote-task.request-size-headroom

Determines the amount of headroom that should be allocated beyond the size of the request data. Requires the query.remote-task.enable-adaptive-request-size parameter to be enabled

2MB

query.info-url-template

URL for redirection of clients to an alternative location for query information

 — 

retry-policy

Retry policy to use for fault-tolerant execution

NONE

sql.forced-session-time-zone

Defines whether to force set the time zone for any query processing to the configured value, and therefore override the time zone of the client. The time zone must be specified as a string

 — 

sql.default-catalog

Default catalog for all clients. Any default catalog configuration provided by a client overrides this default

 — 

sql.default-schema

Default schema for all clients. Must be set to a schema name that is valid for the default catalog. Any default schema configuration provided by a client overrides this default

 — 

sql.default-function-catalog

Default catalog for user-defined functions storage for all clients

 — 

sql.default-function-schema

Default schema for UDF storage for all clients

 — 

sql.path

Default collection of paths to functions or table functions in specific catalogs and schemas. Paths are specified as catalog_name.schema_name

 — 

spill-enabled

Defines whether spilling memory to disk to avoid exceeding memory limits for the query is enabled

false

spiller-spill-path

Path for spilling memory to disk

 — 

spiller-max-used-space-threshold

If disk space usage ratio of a given spill path is above this threshold, this spill path is not eligible for spilling

0.9

spiller-threads

Number of spiller threads. Increase this value if the default is not enough to saturate the underlying spilling device (for example, when using RAID)

4

max-spill-per-node

Maximum spill space to use by all queries on a single node. This only needs to be configured on worker nodes

100GB

query-max-spill-per-node

Maximum spill space to use by a single query on a single node. This only needs to be configured on worker nodes

100GB

aggregation-operator-unspill-memory-limit

Limit for memory used for unspilling a single aggregation operator instance

4MB

spill-compression-codec

Compression codec to use when spilling pages to disk

NONE

spill-encryption-enabled

Set this to true to randomly generate a secret key (per spill file) to encrypt and decrypt data spilled to disk

false

exchange.client-threads

Number of threads used by exchange clients to fetch data from other Trino nodes. A higher value can improve performance for large clusters or clusters with very high concurrency, but excessively high values may cause a drop in performance due to context switches and additional memory usage

25

exchange.concurrent-request-multiplier

Multiplier determining the number of concurrent requests relative to available buffer memory

3

exchange.compression-codec

Compression codec to use for file compression and decompression when exchanging data between nodes and the exchange storage with fault-tolerant execution mode

LZ4

exchange.data-integrity-verification

Resulting behavior when encountering data integrity issues

ABORT

exchange.max-buffer-size

Size of buffer in the exchange client that holds data fetched from other nodes before it is processed

32MB

exchange.max-response-size

Maximum size of a response returned from an exchange request

16MB

sink.max-buffer-size

Output buffer size for task data that is waiting to be pulled by upstream tasks

32MB

sink.max-broadcast-buffer-size

Broadcast output buffer size for task data that is waiting to be pulled by upstream tasks

200MB

task.concurrency

Default local concurrency for parallel operators, such as joins and aggregations

 — 

task.http-response-threads

Maximum number of threads that may be created to handle HTTP responses

100

task.http-timeout-threads

Number of threads used to handle timeouts when generating HTTP responses

3

task.info-update-interval

Time interval for task information renewal, which is used in scheduling. Larger values can reduce coordinator CPU load, but may result in suboptimal split scheduling

3s

task.max-drivers-per-task

Maximum number of drivers a task can run concurrently

2147483647

task.max-partial-aggregation-memory

Maximum size of partial aggregation results for distributed aggregations

16MB

task.max-worker-threads

Number of threads used by workers to process splits

 — 

task.min-drivers

Target number of running leaf splits on a worker

 — 

task.min-drivers-per-task

Minimum number of drivers guaranteed to run concurrently for a single task given the task has remaining splits to process

3

task.min-writer-count

Minimum number of concurrent writer threads per worker per query when preferred partitioning and task writer scaling are not used

1

task.max-writer-count

Maximum number of concurrent writer threads per worker per query when preferred partitioning and task writer scaling are not used

 — 

task.interrupt-stuck-split-tasks-enabled

Set this to true to allow Trino to detect and fail tasks containing splits that have been stuck

true

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

Defines the splits running time threshold after which call stacks at /v1/maxActiveSplits endpoint are printed out and JMX metrics are generated

10m

task.interrupt-stuck-split-tasks-timeout

Timeout for a blocked split processing thread before Trino fails the task

10m

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

Interval of Trino checks for splits that have processing time exceeding the task.interrupt-stuck-split-tasks-timeout parameter value

2m

use-preferred-write-partitioning

Defines whether preferred write partitioning is enabled. When set to true, each partition is written by a separate writer

true

scale-writers

Defines whether writer scaling by dynamically increasing the number of writer tasks on the cluster is enabled

true

task.scale-writers.enabled

Defines whether scaling the number of concurrent writers within a task is enabled

true

writer-scaling-min-data-processed

Minimum amount of uncompressed data that must be processed by a writer before another writer can be added

100MB

node-scheduler.max-splits-per-node

Target value for the total number of splits that can be running on each worker node, assuming all splits have the standard split weight

256

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

Minimum number of outstanding splits with the standard split weight guaranteed to be scheduled on a node (even when the node is already at the limit for total number of splits) for a single task given the task has remaining splits to process

16

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

Maximum number of outstanding splits with the standard split weight guaranteed to be scheduled on a node (even when the node is already at the limit for total number of splits) for a single task given the task has remaining splits to process

2000

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

Maximum number of splits that are either queued on the coordinator but not yet sent, or confirmed to have been received by the worker

2000

node-scheduler.min-candidates

Minimum number of candidate nodes that are evaluated by the node scheduler when choosing the target node for a split

10

node-scheduler.policy

Node scheduler policy to use when scheduling splits

uniform

optimizer.dictionary-aggregation

Defines whether optimization for aggregations on dictionaries is used

false

optimizer.optimize-hash-generation

Set this to true to compute hash codes for distribution, joins, and aggregations early during execution, allowing result to be shared between operations later in the query

false

optimizer.optimize-metadata-queries

Defines whether to push the aggregation below the outer join when an aggregation is above an outer join and all columns from the outer side of the join are in the grouping clause

true

optimizer.distinct-aggregations-strategy

Strategy to use for multiple distinct aggregations

AUTOMATIC

optimizer.push-table-write-through-union

Defines whether to parallelize writes when using UNION ALL in queries that write data

true

optimizer.join-reordering-strategy

Join reordering strategy to use. NONE maintains the order the tables are listed in the query

AUTOMATIC

optimizer.max-reordered-joins

Maximum number of joins that can be reordered at once when the optimizer.join-reordering-strategy parameter is set to cost-based

8

optimizer.optimize-duplicate-insensitive-joins

Defines whether to reduce the number of rows produced by joins when optimizer detects that duplicated join output rows can be skipped

true

optimizer.use-exact-partitioning

Defines whether to re-partition the data unless the partitioning of the upstream stage exactly matches what the downstream stage expects

false

optimizer.use-table-scan-node-partitioning

Defines whether to use the connector provided table node partitioning when reading tables

true

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

Specifies minimal bucket to task ratio that has to be matched or exceeded in order to use table scan node partitioning

0.5

optimizer.filter-conjunction-independence-factor

Scales the strength of independence assumption for estimating the selectivity of the conjunction of multiple predicates

0.75

optimizer.join-multi-clause-independence-factor

Scales the strength of independence assumption for estimating the output of a multi-clause join

0.25

optimizer.non-estimatable-predicate-approximation.enabled

Defines whether to use the cost based optimizer to determine if repartitioning the output of an already partitioned stage is necessary

true

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

Minimum number of join build side rows required to use partitioned join lookup

1000000

optimizer.min-input-size-per-task

Minimum input size required per task

5GB

optimizer.min-input-rows-per-task

Minimum number of input rows required per task

10000000

log.annotation-file

Name of an optional properties file that contains annotations to include with each log message for TCP output or file output in JSON format, defined with the log.path and log.format parameters

 — 

log.path

Path to the log file used by Trino. The path is relative to the data directory, configured to var/log/server.log by the launcher script

 — 

log.max-size

Maximum file size for the general application log file

100MB

log.max-total-size

Maximum total size for the general application log files

1GB

log.compression

Compression format for rotated log files. Can be set to either GZIP or NONE. When set to NONE, compression is disabled

GZIP

http-server.log.enabled

Defines whether the logging for the HTTP server is enabled

true

http-server.log.compression.enabled

Defines whether the compression of the log files of the HTTP server is enabled

true

http-server.log.path

Path to the log file of the HTTP server

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

http-server.log.max-history

Maximum number of log files for the HTTP server to use before log rotation

15

http-server.log.max-size

Maximum file size for the log file of the HTTP server

 — 

re2j.dfa-states-limit

Maximum number of states to use when RE2J builds the fast, but potentially memory intensive, deterministic finite automaton (DFA) for regular expression matching

2147483647

re2j.dfa-retries

Number of times that RE2J retries the DFA algorithm, when it reaches a states limit before using the slower, but less memory intensive NFA algorithm, for all future inputs for that search

5

node.internal-address-source

Set this to FQDN to ensure correct operation and usage of valid DNS host names by Kerberos

FQDN

access-control.config-files

Path to the access control configuration file

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

internal-communication.shared-secret

String used by coordinators and workers of the same cluster to authenticate within it

 — 

Kerberos Configuration
Parameter Description Default value

http-server.authentication.krb5.service-name

Kerberos service name for authentication

HTTP

http-server.authentication.krb5.principal-hostname

Principal hostname for Kerberos authentication

 — 

http-server.authentication.krb5.keytab

Path to the keytab file for Kerberos authentication

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

http.authentication.krb5.config

Path to the Kerberos configuration file

/etc/krb5.conf

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

File containing rules for mapping Kerberos principal names to local usernames

 — 

SSL Configuration
Parameter Description Default value

http-server.http.enabled

Defines whether HTTP is enabled for the HTTP server

true

internal-communication.https.required

Defines whether SSL/TLS is used for all internal communications

false

http-server.https.enabled

Defines whether HTTPS is enabled for the HTTP server

false

http-server.https.port

HTTPS port of the server

18189

http-server.https.keystore.path

Path to the keystore file for HTTPS

 — 

http-server.https.keystore.key

Password for the keystore used in HTTPS

 — 

http-server.https.truststore.path

Path to the truststore file for HTTPS

 — 

http-server.https.truststore.key

Password for the truststore used in HTTPS

 — 

internal-communication.https.keystore.path

Path to the keystore file for internal communication within Trino cluster via HTTPS

 — 

internal-communication.https.keystore.key

Password for the keystore used in internal communication within Trino cluster via HTTPS

 — 

internal-communication.https.truststore.path

Path to the truststore file for internal communication within Trino cluster via HTTPS

 — 

internal-communication.https.truststore.key

Password for the truststore used in internal communication within Trino cluster via HTTPS

 — 

node.properties
Parameter Description Default value

node.environment

Name of the environment in which the node operates. Must be the same for all Trino nodes in a cluster

adh

node.id

Unique identifier of the node

 — 

node.data-dir

Path to the directory for node data storage

/srv/trino/data/worker

catalog.config-dir

Path to the directory for catalog configurations

/etc/trino/conf/catalog

node.server-log-file

Path to the server log file for the node

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

node.launcher-log-file

Path to the launcher log file for the node

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

Others
Parameter Description Default value

env.sh

Contents of the env.sh file that contains Trino environment settings

jvm.config

Contents of the jvm.config file that contains the Java virtual machine settings for Trino

Custom config.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed in the configuration file config.properties

 — 

Custom node.properties

In this section you can define values for custom parameters that are not displayed in ADCM UI, but are allowed in the configuration file node.properties

 — 

Enable custom ulimits

Switch on the corresponding toggle button to specify resource limits (ulimits) for the current process. If you do not set these values, the default system settings are used. Ulimit settings are described in the table below

[Service]
LimitCPU=
LimitFSIZE=
LimitDATA=
LimitSTACK=
LimitCORE=
LimitRSS=
LimitNOFILE=
LimitAS=
LimitNPROC=
LimitMEMLOCK=
LimitLOCKS=
LimitSIGPENDING=
LimitMSGQUEUE=
LimitNICE=
LimitRTPRIO=
LimitRTTIME=
Ulimit settings
Parameter Description Corresponding option of the ulimit command in CentOS

LimitCPU

A limit in seconds on the amount of CPU time that a process can consume

cpu time ( -t)

LimitFSIZE

Maximum size of files that a process can create, in 512-byte blocks

file size ( -f)

LimitDATA

Maximum size of a process’s data segment, in kilobytes

data seg size ( -d)

LimitSTACK

Maximum stack size allocated to a process, in kilobytes

stack size ( -s)

LimitCORE

Maximum size of a core dump file allowed for a process, in 512-byte blocks

core file size ( -c)

LimitRSS

The maximum amount of RAM memory (resident set size) that can be allocated to a process, in kilobytes

max memory size ( -m)

LimitNOFILE

Maximum number of open file descriptors allowed for the process

open files ( -n)

LimitAS

Maximum size of the process virtual memory (address space), in kilobytes

virtual memory ( -v)

LimitNPROC

Maximum number of processes

max user processes ( -u)

LimitMEMLOCK

Maximum memory size that can be locked for the process, in kilobytes. Memory locking ensures the memory is always in RAM and a swap file is not used

max locked memory ( -l)

LimitLOCKS

Maximum number of files locked by a process

file locks ( -x)

LimitSIGPENDING

Maximum number of signals that are pending for delivery to the calling thread

pending signals ( -i)

LimitMSGQUEUE

Maximum number of bytes in POSIX message queues. POSIX message queues allow processes to exchange data in the form of messages

POSIX message queues ( -q)

LimitNICE

Maximum NICE priority level that can be assigned to a process

scheduling priority ( -e)

LimitRTPRIO

Maximum real-time scheduling priority level

real-time priority ( -r)

LimitRTTIME

Maximum pipe buffer size, in 512-byte blocks

pipe size ( -p)

The Haproxy Trino component
Parameter Description Default value

haproxy-trino.cfg

Jinja template with HAProxy configuration

Specifies the location of the certificate in standard .PEM format

Location of the certificate in the PEM format

/etc/ssl/serverkey.pem

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

Syslog-ng configuration for Haproxy Trino. It is used if syslog-ng is installed in your OS

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

Rsyslog configuration for Haproxy Trino. It is used if rsyslog is installed in your OS

The Trino Client component
config.properties
Parameter Description Default value

catalog

Default Trino catalog

 — 

client-info

Extra information about the client submitting a query

 — 

client-request-timeout

Client request timeout

2m

client-tags

A comma-separated list of tags to provide extra information about the client and the CLI user

 — 

editing-mode

Sets the editing mode. Possible values are VI and EMACS

EMACS

encoding

Encoding for spooling protocol

json+zstd,json+lz4,json

external-authentication-redirect-handler

Specifies a handler for external authentication redirects

ALL

extra-credential

Extra credentials in the key/value format

 — 

history-file

Path to a file with commands history

${user.home}/.trino_history

network-logging

The detalization level of CLI network logs. The possible values are NONE, BASIC, HEADERS, and BODY

NONE

output-format

Output format for batch mode

CSV

output-format-interactive

Output format for interactive mode

ALIGNED

pager

Path to the pager program used to display the query results

less

path

Sets the default SQL path for the session

 — 

schema

Default schema. Must be specified along with catalog

 — 

server

Trino server (Trino Coordinator or Trino Haproxy) location

<TrinoCoordinatorHost> or <TrinoHaproxyHost>

session

Trino session properties in the key/value format

 — 

source

Name of an application or source connecting to Trino

trino-cli

timezone

Sets a session time zone

UTC

user

Trino user name to connect to the Trino server

 — 

Kerberos Configuration
Parameter Description Default value

krb5-remote-service-name

Remote peer’s Kerberos service name

HTTP

SSL configuration
Parameter Description Default value

keystore-password

Password to the keystore file

 — 

keystore-path

Location of the keystore file

 — 

truststore-password

Password to the truststore file

 — 

truststore-path

Location of the truststore file

 — 

Found a mistake? Seleсt text and press Ctrl+Enter to report it