Конфигурация ноды

Содержание раздела
  1. Переопределение параметров конфигурации
  2. Конфигурация сервиса исполнения запросов
    1. Настройки журналирования
    2. Настройки управления Prostore
    3. Настройки сервиса исполнения запросов
    4. Настройки датасорсов типа ADB
    5. Настройки датасорсов типа ADG
    6. Настройки датасорсов типа ADQM
    7. Настройки датасорсов типа ADP
  3. Конфигурация сервиса мониторинга статусов Kafka

Конфигурация ноды представляет собой текстовый YAML-файл, параметры которого организованы в древовидную структуру.

Ниже приведены примеры конфигурационных файлов: конфигурации сервиса исполнения запросов и конфигурации сервиса мониторинга статусов Kafka. Для каждого параметра указаны:

  • назначение,
  • имя,
  • имя переменной окружения,
  • значение параметра.

Для наглядности конфигурация сервиса исполнения запросов разделена на отдельные секции.

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

По умолчанию нода использует конфигурационный файл, входящий в состав JAR-файла dtm-query-execution-core-<version>.jar. Значения параметров конфигурации можно переопределить любым из способов:

  • поместить свой YAML-файл с нужными значениями параметров в директорию <рабочая_директория_ноды>/config;
  • задать переменные окружения.

Если параметр определен в нескольких источниках, то наиболее приоритетным считается значение переменной окружения, следующим источником по приоритету — конфигурация в директории config, затем — конфигурация в составе JAR-файла.

Переопределить значение параметра с помощью переменной окружения можно, если эта переменная определена в конфигурационном файле. Если вы поместили свой конфигурационный файл в директорию config, он должен определять нужные переменные. При использовании конфигурационного файла из JAR-файла ничего определять не нужно, так как все переменные в нем уже определены.

Конфигурация сервиса исполнения запросов

Настройки журналирования

# настройки журналирования
logging:
# уровень важности сообщений, записываемых в лог-файл
  level:
    ru.datamart.prostore.query.execution: ${DTM_LOGGING_LEVEL:TRACE}

Настройки управления Prostore

# настройки сервера Prostore
server:
# номер порта сервиса метрик  
  port: ${DTM_METRICS_PORT:8080}  
# настройки swagger-ui
springdoc:
  api-docs:
    enabled: false
  swagger-ui:
# путь до openapi.yml
    url: /openapi.yml
# путь до swagger-ui
    path: /swagger-ui
# настройки управления Prostore
management:
# настройки конечных точек Prostore
  endpoints:
# признак генерации метрик со стороны Prostore
    enabled-by-default: ${DTM_METRICS_ENABLED:true}
# настройки видимости метрик через веб-соединения
    web:
      exposure:
# состав метрик, видимых через веб-соединения
        include: ${DTM_METRICS_SCOPE:info, health}

Настройки сервиса исполнения запросов

# настройки сервиса исполнения запросов
core:
# настройки плагинов
  plugins:
# список используемых типов датасорсов
    active: ${CORE_PLUGINS_ACTIVE:ADG, ADB, ADP, ADQM}
# порядок выбора типа датасорса для исполнения запросов на чтение и выгрузку данных
    category:
# порядок выбора типа датасорса в зависимости от категории запроса; настройки используются, если отсутствует секция plugins.category.autoSelect      
      mapping:
# порядок для общих реляционных запросов
        RELATIONAL: ${DTM_CORE_PLUGINS_RELATIONAL:ADB, ADP, ADQM, ADG}
# порядок для аналитических запросов
        ANALYTICAL: ${DTM_CORE_PLUGINS_ANALYTICAL:ADQM, ADB, ADP, ADG}
# порядок для запросов ключ-значение
        DICTIONARY: ${DTM_CORE_PLUGINS_DICTIONARY:ADG, ADB, ADP, ADQM}
# порядок для других категорий запросов
        UNDEFINED:  ${DTM_CORE_PLUGINS_UNDEFINED:ADB, ADP, ADQM, ADG}
# порядок выбора типа датасорса в зависимости от категории и подкатегории запроса   
      autoSelect:
# порядок для общих реляционных запросов        
        RELATIONAL:
# порядок для запросов, предназначенных для одного узла кластера        
          SHARD_ONE: ${DTM_CORE_PLUGINS_AUTOSELECT_RELATIONAL_SHARDONE:ADB, ADP, ADQM, ADG}
# порядок для запросов, предназначенных для нескольких узлов кластера (от 1 до всех)
          SHARD_SET: ${DTM_CORE_PLUGINS_AUTOSELECT_RELATIONAL_SHARDSET:ADB, ADP, ADQM, ADG}
# порядок для запросов, предназначенных для всех узлов кластера
          SHARD_ALL: ${DTM_CORE_PLUGINS_AUTOSELECT_RELATIONAL_SHARDALL:ADB, ADP, ADQM, ADG}
# порядок для аналитических запросов          
        ANALYTICAL:
# порядок для запросов, предназначенных для одного узла кластера 
          SHARD_ONE: ${DTM_CORE_PLUGINS_AUTOSELECT_ANALYTICAL_SHARDONE:ADQM, ADB, ADP, ADG}
# порядок для запросов, предназначенных для нескольких узлов кластера (от 1 до всех)
          SHARD_SET: ${DTM_CORE_PLUGINS_AUTOSELECT_ANALYTICAL_SHARDSET:ADQM, ADB, ADP, ADG}
# порядок для запросов, предназначенных для всех узлов кластера
          SHARD_ALL: ${DTM_CORE_PLUGINS_AUTOSELECT_ANALYTICAL_SHARDALL:ADQM, ADB, ADP, ADG}
# порядок для запросов ключ-значение          
        DICTIONARY:
# порядок для запросов, предназначенных для одного узла кластера 
          SHARD_ONE: ${DTM_CORE_PLUGINS_AUTOSELECT_DICTIONARY_SHARDONE:ADG, ADB, ADP, ADQM}
# порядок для запросов, предназначенных для нескольких узлов кластера (от 1 до всех)
          SHARD_SET: ${DTM_CORE_PLUGINS_AUTOSELECT_DICTIONARY_SHARDSET:ADG, ADB, ADP, ADQM}
# порядок для запросов, предназначенных для всех узлов кластера
          SHARD_ALL: ${DTM_CORE_PLUGINS_AUTOSELECT_DICTIONARY_SHARDALL:ADG, ADB, ADP, ADQM}
# порядок для других категорий запросов          
        UNDEFINED:
# порядок для запросов, предназначенных для одного узла кластера 
          SHARD_ONE: ${DTM_CORE_PLUGINS_AUTOSELECT_UNDEFINED_SHARDONE:ADB, ADP, ADQM, ADG}
# порядок для запросов, предназначенных для нескольких узлов кластера (от 1 до всех)
          SHARD_SET: ${DTM_CORE_PLUGINS_AUTOSELECT_UNDEFINED_SHARDSET:ADB, ADP, ADQM, ADG}
# порядок для запросов, предназначенных для всех узлов кластера
          SHARD_ALL: ${DTM_CORE_PLUGINS_AUTOSELECT_UNDEFINED_SHARDALL:ADB, ADP, ADQM, ADG}
# настройки сетевых подключений через HTTP-протокол
  http:
# номер порта сервиса исполнения запросов
    port: ${DTM_CORE_HTTP_PORT:9090}
# режим оптимизации работы сокета TCP_NODELAY
    tcpNoDelay: ${DTM_CORE_HTTP_TCP_NO_DELAY:true}
# режим TCP FAST_OPEN
    tcpFastOpen: ${DTM_CORE_HTTP_TCP_FAST_OPEN:true}
# режим оптимизации работы сокета TCP_QUICKACK
    tcpQuickAck: ${DTM_CORE_HTTP_TCP_QUICK_ACK:true}
# настройки окружения
  env:
# имя окружения для формирования полных имен логических БД
    name: ${DTM_NAME:test}
# настройки метрик prometheus
  prometheus:
# признак сбора метрик prometheus
    enabled: ${PROMETHEUS_ENABLED:true}
# настройки аутентификации
  auth:
# путь к API-методу авторизационного сервиса, возвращающему информацию о публичных ключах (JWKS или JSON Web Key Set) для проверки авторизационных токенов
    jwksUri: ${AUTH_JWKS_URI:}
# список ролей, назначаемых по умолчанию
    defaultRoles: ${CORE_DEFAULT_ROLES:env_owner}
# настройки восстановления состояния при запуске и перезапуске ноды Prostore
  restoration:
# признак восстановления состояния при запуске и перезапуске ноды Prostore   
    autoRestoreState: ${AUTO_RESTORE_STATE:true}    
# настройки синхронизации материализованных представлений
  matviewsync:
# периодичность запуска синхронизации в миллисекундах; если значение равно 0, синхронизация отключена
    periodMs: ${MATERIALIZED_VIEWS_SYNC_PERIOD_MS:5000}
# максимальное количество попыток синхронизации представления, после перезапуска ноды счетчик обнуляется
    retryCount: ${MATERIALIZED_VIEWS_RETRY_COUNT:10}
# максимальное количество представлений, синхронизируемых одновременно
    maxConcurrent: ${MATERIALIZED_VIEWS_CONCURRENT:2}
# настройки обработки retention-правил
  datacooling:
# периодичность запуска обработки retention-правил в миллисекундах; если значение равно 0, обработка отключена
    periodMs: ${DATA_COOLING_RUN_PERIOD_MS:600000}
# максимальное количество таблиц, обрабатываемых одновременно
    maxConcurrent: ${DATA_COOLING_CONCURRENT:2}
# периодичность проверки запросов, запущенных на ноде кластера, для удаления данных согласно retention-правилам (в миллисекундах)
  checkQueriesPeriodMs: ${DATA_COOLING_CHECK_QUERIES_PERIOD_MS:30000}
# периодичность проверки доступности нод кластера для удаления данных согласно retention-правилам (в миллисекундах)
  checkTrimPeriodMs: ${DATA_COOLING_CHECK_TRIM_PERIOD_MS:30000}
# настройки очереди операций по изменению логической схемы данных   
  ddlqueue:
# признак использования очереди операций; до версии 5.6.1 очередь не использовалась
    enabled: ${CORE_DDL_QUEUE_ENABLED:true}    
# настройки jet-коннектора
  jet:
# список сетевых адреса jet-коннекторов для загрузки данных в формате: http://host_1:port_1,host_2:port_2,...
    connectionString: ${KAFKA_JET_WRITERS:}
# имя консьюмер-группы для загрузки данных с помощью jet-коннектора
    consumerGroup: ${KAFKA_JET_CONSUMER_GROUP:jet-load}
# таймаут поллинга из Kafka в миллисекундах
    pollDurationMs: ${KAFKA_JET_POLL_DURATION_MS:100}
# предельный размер буфера чтения из Kafka
    pollBufferSize: ${KAFKA_JET_POLL_BUFFER_SIZE:1000}
# предельный размер буфера вставки в БД
    dbBufferSize: ${KAFKA_JET_DB_BUFFER_SIZE:1000}
# таймаут get-метода коннектора
    getTimeoutMs: ${KAFKA_JET_GET_TIMEOUT_MS:5000}
# настройки источника данных
  datasource:
# настройки для EDML-операторов
    edml:
# количество записей, по умолчанию выгружаемых в одном сообщении топика Каfka
      defaultChunkSize: ${EDML_DEFAULT_CHUNK_SIZE:1000}
# период проверки статуса плагина в миллисекундах
      pluginStatusCheckPeriodMs: ${EDML_STATUS_CHECK_PERIOD_MS:1000}
# время ожидания (в миллисекундах) до тайм-аута при работе с первым смещением в топике Kafka
      firstOffsetTimeoutMs: ${EDML_FIRST_OFFSET_TIMEOUT_MS:15000}
# время ожидания (в миллисекундах) до тайм-аута при ожидании смены смещения в топике Kafka
      changeOffsetTimeoutMs: ${EDML_CHANGE_OFFSET_TIMEOUT_MS:10000}
# настройки Zookeeper
    zookeeper:
# сетевой адрес хоста ZooKeeper для сервисной БД
      connection-string: ${ZOOKEEPER_DS_ADDRESS:localhost}
# время ожидания (в миллисекундах) соединения с хостом ZooKeeper для сервисной БД до достижения тайм-аута
      connection-timeout-ms: ${ZOOKEEPER_DS_CONNECTION_TIMEOUT_MS:30000}
# время бездействия (в миллисекундах) в сессии хоста ZooKeeper для сервисной БД до достижения тайм-аута
      session-timeout-ms: ${ZOOKEEPER_DS_SESSION_TIMEOUT_MS:86400000}
# корневой путь к хосту ZooKeeper для сервисной БД
      chroot: ${ZOOKEEPER_DS_CHROOT:/adtm}
# количество попыток восстановления подключения к zooKeeper во время выполнения операции (0 - неограниченно)
      connectionRetryCount: ${ZOOKEEPER_DS_CONNECTION_RETRY_COUNT:0}
# количество попыток выполнения операции в случае срабатывания блокировки optimistic (0 - неограниченно)
      optimisticRetryCount: ${ZOOKEEPER_DS_OPTIMISTIC_RETRY_COUNT:20}
# максимальное количество операций, которое можно выполнить до вызова COMMIT DELTA (без ключевого слова IMMEDIATE);
# значение должно быть меньше ограничения Zookeeper, равного 2147483647      
      maxSequenceSize: ${ZOOKEEPER_DS_MAX_SEQUENCE_SIZE:2000000000}
# настройки взаимодействия сервиса исполнения запросов с брокером сообщений Kafka
  kafka:
    producer:
      property:
# сериализатор строковых ключей
        key.serializer: org.apache.kafka.common.serialization.StringSerializer
# сериализатор строковых значений
        value.serializer: org.apache.kafka.common.serialization.StringSerializer
    consumer:
      property:
# десериализатор ключей как байтов
        clusterkey.deserializer: org.apache.kafka.common.serialization.ByteArrayDeserializer
# десериализатор значений как байтов
        value.deserializer: org.apache.kafka.common.serialization.ByteArrayDeserializer
# настройки кластера Zookeeper для взаимодействия с брокером сообщений Kafka
    cluster:
      zookeeper:
# сетевой адрес хоста Zookeeper для брокера сообщений Kafka
        connection-string: ${ZOOKEEPER_KAFKA_ADDRESS:localhost}
# время ожидания (в миллисекундах) соединения с хостом Zookeeper для брокера сообщений Kafka до достижения тайм-аута
        connection-timeout-ms: ${ZOOKEEPER_KAFKA_CONNECTION_TIMEOUT_MS:30000}
# время бездействия (в миллисекундах) в сессии хоста Zookeeper для брокера сообщений Kafka до достижения тайм-аута
        session-timeout-ms: ${ZOOKEEPER_KAFKA_SESSION_TIMEOUT_MS:86400000}
# корневой путь к хосту Zookeeper для брокера сообщений Kafka
        chroot: ${ZOOKEEPER_KAFKA_CHROOT:}
# настройки администратора Kafka
    admin:
# время ожидания (в миллисекундах) входного потока данных для брокера сообщений Kafka до достижения тайм-аута
      inputStreamTimeoutMs: ${KAFKA_INPUT_STREAM_TIMEOUT_MS:2000}
# настройки статусов публикации событий брокером сообщений Kafka
    status.event.publish:
# имя топика Kafka, в который публикуются события
      topic: ${KAFKA_STATUS_EVENT_TOPIC:status.event.topic}    
# разрешение на публикацию событий
      enabled: ${KAFKA_STATUS_EVENT_ENABLED:false}
# настройки подключения к сервису мониторинга статусов Kafka 
    statusMonitor:
# сетевой адрес и путь для получения информации о статусе сервиса
      statusUrl: ${STATUS_MONITOR_URL:http://localhost:9095/status}
# сетевой адрес и путь для получения информации о версии сервиса
      versionUrl: ${STATUS_MONITOR_VERSION_URL:http://localhost:9095/versions}
# настройки при использовании фреймворка vertx
  vertx:
# время в (секундах), после которого заблокированный поток пишет stacktrace
    blocking-stacktrace-time: ${DTM_VERTX_BLOCKING_STACKTRACE_TIME:1}
    pool:
# максимальный размер пула потоков, выполняющих долгие операции
      worker-pool: ${DTM_CORE_WORKER_POOL_SIZE:20}
# максимальный размер пула потоков, обрабатывающих события vertx
      event-loop-pool: ${DTM_CORE_EVENT_LOOP_POOL_SIZE:20}
# максимальный размер пула задач в сервисе исполнения запросов
      task-pool: ${DTM_CORE_TASK_POOL_SIZE:20}
# время (в миллисекундах) завершения задачи, выполняемой в сервисе исполнения запросов
      task-timeout: ${DTM_CORE_TASK_TIMEOUT:86400000}
# максимальный размер пула потоков, обрабатывающих события zooKeeper по дельтам
      delta-watcher-pool: ${DTM_DELTA_WATCHER_POOL_SIZE:10}      
# настройки кэширования запросов
  cache:
# начальная емкость кэша
    initialCapacity: ${CACHE_INITIAL_CAPACITY:100000}
# максимальный размер кэша
    maximumSize: ${CACHE_MAXIMUM_SIZE:100000}
# время (в минутах) устаревания кэша после последнего обращения к нему
    expireAfterAccessMinutes: ${CACHE_EXPIRE_AFTER_ACCESS_MINUTES:99960}
# настройки отката дельты
  delta:
# периодичность (в миллисекундах) проверки операций записи, требующих остановки
    rollback-status-calls-ms: ${DELTA_ROLLBACK_STATUS_CALLS_MS:2000}
# настройки сбора статистики по обработке запросов к данным
  statistics:
# признак сбора статистики
    enabled: ${CORE_STATISTICS_ENABLED:true}
# количество потоков, обрабатывающих сбор статистики
    threadsCount: ${CORE_STATISTICS_THREADS_COUNT:2}
# признак подсчета строк сущности в статистике обработки запросов
    dataCountEnabled: ${CORE_STATISTICS_DATA_COUNT_ENABLED:true}

Настройки датасорсов типа ADB

# настройки ADB
adb:
# настройки датасорсов типа ADB
  datasource:
# отметка элемента в массиве датасорсов и имя датасорса; каждый элемент массива содержит настройки одного датасорса типа ADB
    - name: ADB
# окружение (указывает базу данных в датасорсе)
      env: ${ADB_ENV_NAME:${DTM_NAME:test}}
# имя пользователя/логин для авторизации в датасорсе
      user: ${ADB_USERNAME:dtm}
# пароль для авторизации в датасорсе
      password: ${ADB_PASS:dtm}
# сетевой адрес хоста датасорса
      host: ${ADB_HOST:localhost}
# сетевой адрес порта на хосте
      port: ${ADB_PORT:5432}
# лимит подключений к датасорсу в одном потоке; лимит по всем потокам равен произведению poolSize и executorsCount
      poolSize: ${ADB_MAX_POOL_SIZE:3}
# количество одновременных потоков, исполняющих запросы к датасорсу
      executorsCount: ${ADB_EXECUTORS_COUNT:3}
# максимальный размер результата, возвращаемого по FETCH-запросу к датасорсу
      fetchSize: ${ADB_FETCH_SIZE:1000}
# максимальный размер кэша запроса prepared statement
      preparedStatementsCacheMaxSize: ${ADB_PREPARED_CACHE_MAX_SIZE:256}
# максимальный размер запроса prepared statement, который может быть закэширован
      preparedStatementsCacheSqlLimit: ${ADB_PREPARED_CACHE_SQL_LIMIT:2048}
# признак кэширования запросов prepared statement
      preparedStatementsCache: ${ADB_PREPARED_CACHE:true}
# максимальное количество попыток восстановить соединение (0 — неограниченно)
      maxReconnections: ${ADB_MAX_RECONNECTIONS:0}
# максимальное количество запросов, проходящих через соединение перед его переподключением (0 - неограниченно)
      queriesByConnectLimit: ${ADB_QUERIES_BY_CONNECT_LIMIT:1000}
# интервал (в миллисекундах) между попытками восстановить соединение (0 — без интервала)
      reconnectionInterval: ${ADB_RECONNECTION_INTERVAL:5000}
# настройки механизма выгрузки данных из датасорса
      mppr:
# размер буфера при выгрузке из датасорса
        bufferSize: ${ADB_MPPR_BUFFER_SIZE:1000}
# настройки механизма загрузки данных в датасорс
      mppw:
# признак использования улучшенного PXF-коннектора; при значении false данные загружаются с помощью FDW-коннектора
        usePxfConnector: ${ADB_MPPW_USE_ADVANCED_CONNECTOR:false}
# имя консьюмер-группы датасорса для взаимодействия с брокером сообщений Kafka
        consumerGroup: ${ADB_LOAD_GROUP:adb-emulator-load-adb}
# максимальный размер пула подключений к датасорсу для операций загрузки данных
        poolSize: ${ADB_MPPW_POOL_SIZE:2}
# время ожидания (в миллисекундах) до остановки загрузки
        stopTimeoutMs: ${ADB_MPPW_STOP_TIMEOUT_MS:86400000}
# максимальное количество сообщений для операций загрузки данных в датасорс
        defaultMessageLimit: ${ADB_MPPW_DEFAULT_MESSAGE_LIMIT:10000}
# время ожидания (в миллисекундах) для FDW-коннектора датасорса
        fdwTimeoutMs: ${ADB_MPPW_FDW_TIMEOUT_MS:1000}

Настройки датасорсов типа ADG

# настройки ADG
adg:
# настройки датасорсов типа ADG  
  datasource:
# отметка элемента в массиве датасорсов и имя датасорса; каждый элемент массива содержит настройки одного датасорса типа ADG
    - name: ADG
# окружение датасорса      
      env: ${ADG_ENV_NAME:${DTM_NAME:test}}
# сетевой адрес хоста датасорса
      host: ${TARANTOOL_DB_HOST:localhost}
# сетевой адрес порта на хосте
      port: ${TARANTOOL_DB_PORT:3306}
# имя пользователя/логин для авторизации в датасорсе
      user: ${TARANTOOL_DB_USER:admin}
# пароль для авторизации в датасорсе
      password: ${TARANTOOL_DB_PASS:}
# время ожидания (в миллисекундах) выполнения операции датасорса
      operationTimeout: ${TARANTOOL_DB_OPER_TIMEOUT:60000}
# максимальное количество повторных попыток выполнения операции
      retryCount: ${TARANTOOL_DB_RETRY_COUNT:0}
# движок датасорса
      engine: ${TARANTOOL_DEFAULT_ENGINE:MEMTX}
# количество вертиклов, обрабатывающих запросы к датасорсу
      vertxWorkers: ${TARANTOOL_VERTX_WORKERS:10}
# конечная точка для запросов
      queryRestEndpoint: ${TARANTOOL_QUERY_REST_ENDPOINT:http://localhost:8080/api/v1/query}
# настройки синхронизации материализованных представлений в датасорсе
      sync:
# тайм-аут подключения к датасорсу (в миллисекундах)
        timeout_connect: ${TARANTOOL_DB_SYNC_CONNECTION_TIMEOUT:5000}
# тайм-аут чтения из датасорса (в миллисекундах)
        timeout_read: ${TARANTOOL_DB_SYNC_READ_TIMEOUT:5000}
# тайм-аут запроса в датасорсе (в миллисекундах)
        timeout_request: ${TARANTOOL_DB_SYNC_REQUEST_TIMEOUT:5000}
 # размер буфера запросов в датасорсе
        bufferSize: ${TARANTOOL_DB_SYNC_BUFFER_SIZE:5000}
# настройки картриджа Tatantool
      cartridge:
# сетевой путь и порт к картриджу Tarantool
        url: ${TARANTOOL_CATRIDGE_URL:http://localhost:8086}
# настройки механизма загрузки данных
      mppw:
# имя консьюмер-группы датасорса для взаимодействия с брокером сообщений Kafka
        consumerGroup: ${ADG_CONSUMER_GROUP:tarantool-group-csv}
# максимальное количество сообщений в топике Kafka на раздел датасорса
        maxNumberOfMessagesPerPartition: ${ADG_MAX_MSG_PER_PARTITION:200}
# время простоя (в секундах) callback-функции
        callbackFunctionSecIdle: ${ADG_CB_FUNC_IDLE:100}
# настройки отката операции
      rollback:
# размер пакета операций при откате
        eraseOperationBatchSize: ${ADG_ROLLBACK_OPERATION_BATCH_SIZE:300}
# настройки для подключений веб-клиентов
      web-client:
# максимальный размер пула подключений веб-клиентов к датасорсу
        max-pool-size: ${ADG_WEB_CLIENT_MAX_POOL_SIZE:100}

Настройки датасорсов типа ADQM

# настройки ADQM
adqm:
# настройки датасорсов типа ADQM
  datasource:
# отметка элемента в массиве датасорсов и имя датасорса; каждый элемент массива содержит настройки одного датасорса типа ADQM
    - name: ADQM
# окружение датасорса
      env: ${ADQM_ENV_NAME:${DTM_NAME:test}} 
# имя базы данных
      database: ${ADQM_DB_NAME:default}
# имя пользователя/логин для авторизации в датасорсе
      user: ${ADQM_USERNAME:}
# пароль для авторизации в датасорсе
      password: ${ADQM_PASS:}
# сетевой адрес хоста датасорса и номер порта на хосте
      hosts: ${ADQM_HOSTS:localhost:8123}
# время ожидания (в миллисекундах) отклика соединения с датасорсом до тайм-аута
      socketTimeout: ${ADQM_SOCKET_TIMEOUT:30000}
# время ожидания (в миллисекундах) завершения обмена данными с датасорсом до тайм-аута
      dataTransferTimeout: ${ADQM_DATA_TRANSFER_TIMEOUT:10000}
# размер буфера запросов в датасорсе
      bufferSize: ${ADQM_BUFFER_SIZE:10000}
# настройки DDL-операторов
      ddl:
# имя кластера датасорса
        cluster: ${ADQM_CLUSTER:default_cluster}
# алгоритм шардирования данных; 
# возможные значения: CITY_HASH_64 (значение по умолчанию с версии 5.3 включительно), INT_ADD (значение по умолчанию до версии 5.2 включительно)
        shardingKeyExpr: ${ADQM_SHARDING_EXPR:CITY_HASH_64}
# настройки механизма выгрузки данных из датасорса
      mppr:
# сетевой адрес и путь для запросов на выгрузку данных
        loadingUrl: ${ADQM_MPPR_CONNECTOR_URL:http://localhost:8087/query}
# сетевой адрес и путь для получения информации о версии коннектора
        versionUrl: ${ADQM_MPPR_CONNECTOR_VERSION_URL:http://localhost:8087/versions}
# настройки механизма загрузки данных в датасорс
      mppw:
# имя консьюмер-группы для загрузки данных в датасорс
# не используется
        consumerGroup: ${ADQM_CONSUMER_GROUP:adqm}
# сетевой адрес брокера сообщений Kafka
        kafkaBrokers: ${ADQM_BROKERS:localhost:9092}
# тип интерфейса для загрузки данных в датасорс
        loadType: ${ADQM_MPPW_LOAD_TYPE:REST}
# сетевой адрес и путь к REST-интерфейсу для загрузки новых данных в датасорс
        restStartLoadUrl: ${ADQM_REST_START_LOAD_URL:http://localhost:8091/newdata/start}
# сетевой адрес и путь к REST-интерфейсу для остановки загрузки данных в датасорсе
        restStopLoadUrl: ${ADQM_REST_STOP_LOAD_URL:http://localhost:8091/newdata/stop}
# сетевой адрес и путь для получения информации о версии коннектора
        versionUrl: ${ADQM_MPPW_CONNECTOR_VERSION_URL:http://localhost:8091/versions}
# имя коньсюмер-группы для загрузки данных в датасорс через REST API
        restLoadConsumerGroup: ${ADQM_REST_LOAD_GROUP:adb-emulator-load-adqm}
# настройки подключений веб-клиентов
      web-client:
# максимальный размер пула подключений веб-клиентов к датасорсу
        max-pool-size: ${ADQM_WEB_CLIENT_MAX_POOL_SIZE:100}

Настройки датасорсов типа ADP

# настройки ADP
adp:
# настройки источника данных ADP
  datasource:
# отметка элемента в массиве датасорсов и имя датасорса; каждый элемент массива содержит настройки одного датасорса типа ADP
    - name: ADP
# окружение (указывает базу данных в датасорсе)
      env: ${ADP_ENV_NAME:${DTM_NAME:test}}    
# имя пользователя/логин для авторизации в датасорсе
      user: ${ADP_USERNAME:dtm}
# пароль для авторизации в датасорсе
      password: ${ADP_PASS:}
# сетевой адрес хоста датасорса
      host: ${ADP_HOST:localhost}
# сетевой адрес порта на хосте датасорса
      port: ${ADP_PORT:5432}
# лимит подключений к датасорсу в одном потоке; лимит по всем потокам равен произведению poolSize и executorsCount
      poolSize: ${ADP_MAX_POOL_SIZE:3}
# количество одновременных потоков, исполняющих запросы к датасорсу
      executorsCount: ${ADP_EXECUTORS_COUNT:3}
# максимальный размер результата, возвращаемого по FETCH-запросу к датасорсу
      fetchSize: ${ADP_FETCH_SIZE:1000}
# максимальное время ожидания выполнения запроса в очереди подключений (0 — не ограничено)
      poolRequestTimeout: ${ADP_POOL_REQUEST_TIMEOUT:0}
# максимальный размер кэша запроса prepared statement
      preparedStatementsCacheMaxSize: ${ADP_PREPARED_CACHE_MAX_SIZE:256}
# максимальный размер запроса prepared statement, который может быть закэширован
      preparedStatementsCacheSqlLimit: ${ADP_PREPARED_CACHE_SQL_LIMIT:2048}
# признак кэширования запросов prepared statement
      preparedStatementsCache: ${ADP_PREPARED_CACHE:true}
# настройки механизма загрузки данных в датасорс
      mppw: 
# список сетевых адресов и путь к REST-интерфейсу для загрузки данных в формате: http://host_1:port_1,host_2:port_2,.../newdata/start
        restStartLoadUrl: ${ADP_REST_START_LOAD_URL:http://localhost:8096/newdata/start}
# список сетевых адресов и путь к REST-интерфейсу для остановки загрузки данных в формате: http://host_1:port_1,host_2:port_2,.../newdata/stop
        restStopLoadUrl: ${ADP_REST_STOP_LOAD_URL:http://localhost:8096/newdata/stop}
# список сетевых адресов и путь для получения информации о версии коннектора в формате: http://host_1:port_1,host_2:port_2,.../versions
        restVersionUrl: ${ADP_MPPW_CONNECTOR_VERSION_URL:http://localhost:8096/versions}
# имя коньсюмер-группы для загрузки данных в датасорс через REST API
        kafkaConsumerGroup: ${ADP_KAFKA_CONSUMER_GROUP:adp-load}
# таймаут get-метода коннектора
        restGetTimeoutMs: ${ADP_REST_GET_TIMEOUT_MS:5000}
# настройки механизма выгрузки данных из датасорса
      mppr:
# список сетевых адресов и путь для запросов на выгрузку данных в формате: http://host_1:port_1,host_2:port_2,.../query
        restLoadUrl: ${ADP_MPPR_QUERY_URL:http://localhost:8094/query}
# список сетевых адресов и путь для получения информации о версии коннектора в формате: http://host_1:port_1,host_2:port_2,.../versions
        restVersionUrl: ${ADP_MPPR_CONNECTOR_VERSION_URL:http://localhost:8094/versions}

Конфигурация сервиса мониторинга статусов Kafka

# настройки cервиса мониторинга статусов Kafka
monitor:
# список адресов брокеров сообщений Kafka
brokersList: ${STATUS_MONITOR_BROKERS:localhost:9092}
# количество потребителей (консьюмеров) cервиса мониторинга Kafka
consumersCount: ${STATUS_MONITOR_CONSUMERS:8}
# настройки метрик prometheus
prometheus:
# признак сбора метрик prometheus
  enabled: ${PROMETHEUS_ENABLED:true}