Описание конфигураций
Помимо настроек параметров конфигурационного файла Go-toucher, на тачинг влияют конфигурации компонентов:
Hitbox— таблица 9.Haron— таблица 11.FileDB— таблица 18.
По умолчанию файл конфигурации Go-toucher располагается в директории /etc/go-toucher/config.yml.
Пример описания параметров конфигурации Go-toucher:
app:id: mcs-touching-mono01name: go-toucherversion: v1.1.10-rc.1server:ip_address: 127.0.0.1port: 8000nylon:etcd:endpoints:- http://10.1.0.100:2379- http://10.1.0.101:2379- http://10.1.0.102:2379prefix: /hotbox/nylonmatter:etcd:endpoints:- http://10.1.0.100:2379- http://10.1.0.101:2379- http://10.1.0.102:2379prefix: /hotbox/mattercluster_streamer:workdir: "/var/lib/go-toucher/parquet"row_group_size: 1800spaces:objects:upload_parts:processor:beater:period: 0.25stoucher:workdir: "/var/lib/go-toucher/parquet"failed_reports_dir: "/var/lib/go-toucher/failed_reports/"workers_count: 5worker_timeout: 1mlog:level: INFOformat: textenable_source: falsetargets:- type: syslogenabled: truesyslog:address: "/run/systemd/journal/syslog"priority: 6tag: go-toucher
Секции в файле конфигурации Go-toucher:
app— основные параметры приложения (таблица 1).server— параметры конфигурации сервера (таблица 2).nylon— параметры конфигурации кластераNylon(таблица 3).matter— параметры конфигурации кластераMatter(таблица 4).processor— параметры процессора, отвечающего за обработку задачи на тачинг (таблица 5).toucher— параметры конфигурацииGo-toucher(таблица 6).state_db— параметры конфигурации внутренней БД, хранящей состояние обработки задачи на тачинг (таблица 7).log— параметры конфигурации логирования (таблица 8).
Параметр | Описание | Формат | Обязательный |
|---|---|---|---|
| Идентификатор демона | string | |
| Имя приложения | string | |
| Версия приложения | string | |
| Тайм-аут для завершения всех текущих процессов приложения, сек. Значение по умолчанию — | string duration |
Параметр | Описание | Формат | Обязательный |
|---|---|---|---|
| IP-адрес сервера | string | |
| Порт сервера | int | |
| Максимальный промежуток времени чтения запроса, включающий чтение тела. Если значение | string duration | |
| Время, отведенное для чтения заголовков запроса. Если значение | string duration | |
| Максимальная длительность до тайм-аута при записи ответа | string duration | |
| Максимальное значение времени ожидания следующего запроса при включенном keep-alive. Если значение | string duration | |
| Максимальное количество байт, которое сервер будет считывать при анализе ключей и значений заголовка запроса, включая строку запроса (не включает тело запроса) | int |
Пример конфигурации:
etcd:endpoints:prefix:timeout_per_req:username:password:max_retries:base_delay:time_lag_for_applying_changes:instances:instance_name:cluster:box:listen:pool:check_timeout:retrier:num:duration:pacer:rps:
Параметр | Описание | Формат | Обязательный |
|---|---|---|---|
etcd — секция с описанием конфигурации | |||
| Эндпоинты | string | |
| Префикс необходимых ключей | string | |
| Время ожидания заголовка ответа. Значение по умолчанию — | string duration | |
| Имя для доступа к | string | |
| Пароль для доступа к | string | |
| Количество попыток в одной итерации (сколько раз будет повышаться | int | |
| Первое значение (для экспоненциальной длительности) времени между новой попыткой запуска watcher | string duration | |
| Промежуток времени для применения новых данных из | string duration | |
instances — секция с описанием узлов Tarantool | |||
| Имя тарантула в кластере | string | |
| Имя кластера этого тарантула | string | |
| Конфигурация подключения к тарантулу | ||
| IP-адрес подключения к Tarantool | string | |
pool — секция с описанием конфигурации подключения к кластерам | |||
| Тайм-аут для переподключения закрытого соединения, сек. Значение по умолчанию — | string duration | |
| Конфигурация retrier на количество попыток для подключения к кластеру | ||
| Количество попыток переподключения при неудачном подключении к кластеру. Значение по умолчанию — | int | (если задан |
| Время ожидания между попытками для успешного выполнения задачи тачинга, в секундах. Значение по умолчанию — | string | (если задан |
| Запрос pacer чтобы искусственно ограничивать частоту запросов | string | |
| Количество запросов в секунду | int | (если задан |
Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Тайм-аут по умолчанию для функции GET, используемой |
|
| Частота вызова процесса проверки активности тачинга |
|
| Время ожидания сигналов от |
|
| Время ожидания сигналов от |
|
| Максимальный тайм-аут для функции GET, используемый |
|
Параметр | Описание | Формат | Обязательный |
|---|---|---|---|
| Период между обработкой задач на тачинг, сек. Значение по умолчанию — | string duration | |
| Конфигурация retrier на количество попыток для complete задачи на | ||
| Количество попыток на успех тачинг задачи, сек. Значение по умолчанию — | int | (если установлен |
| Ожидание между попытками на успех тачинг задачи, сек. Значение по умолчанию — | string | (если установлен |
| Сервис для удерживания тачинга за | ||
| Период между heartbeat-запросами | string duration |
Параметр | Описание | Формат | Обязательный |
|---|---|---|---|
| Директория, из которой происходит выгрузка parquet-файлов | string | |
| Количество воркеров для разбора parquet-файлов и отправки хешей на | int | |
| Количество попыток загрузки пачки хешей в | int | |
| При создании ридера для parquet задается parallel number, желательно выставлять в количество воркеров. Значение по умолчанию — | int | |
| Лимит времени для обработки пачки хешей воркерами (если не управился, обработка завершается и передается другому воркеру). Значение по умолчанию — | string duration | |
| Промежуток времени, по истечении которого задача считается зависшей (задача снова перемещается в статус | string duration | |
| Количество итераций на обработку всех parquet-файлов и буфера хешей с ошибками. Значение по умолчанию — | int |
Параметр | Описание | Формат | Обязательный |
|---|---|---|---|
| Очередь для обработки пачек хешей из parquet-файлов | ||
| Размер транзакции при загрузке пачек хешей в очередь на обработку воркерами. Значение по умолчанию — | int |
Пример конфигруации:
log:level:disable_time:enable_source:targets:- type:enabled:path:syslog:network:address:priority:tag:format:
Параметр | Описание | Формат | Обязательный |
|---|---|---|---|
| Текущий уровень логирования. Возможные значения: | string | |
| Отключает логирование времени. Значение по умолчанию — | boolean | |
| Включает логирование функции источника вызова. Значение по умолчанию — | boolean | |
| Секция с описанием целей для записи логов. Будет загружена первая включенная цель | ||
| Тип лога. Возможные значения: | string | |
| Включение цели | boolean | |
| Путь до файла лога | string | |
| Базовые настройки syslog | ||
| Протокол передачи данных: TCP или UDP | string | |
| IP-адрес до сервера syslog | string | |
| Уровень приоритета: 0-7 | int | |
| Метка сообщений syslog. Если значение не задано, будет использовано имя бинарного файла | string | |
| Формат вывода лога. Одно из значений: | string |
Путь к конфигурации Hitbox приведен в таблице 1
Параметр | Описание | Значение по умолчанию |
|---|---|---|
touching | ||
| Расписание запуска в формате |
|
| Включен ли запуск по расписанию |
|
| Частота проверки расписания |
|
| Время до перезапуска работы по расписанию в случае падения |
|
| Включен ли процесс тачинга |
|
| Частота проверки и обработки текущего состояния тачинга |
|
| Время до перезапуска работы проверки и обработки текущего состояния тачинга в случае падения |
|
| Нужно ли вручную подтверждать успешное завершение тачинга |
|
| Если значение |
|
nylon | ||
| Максимальное количество записей в кеше.
Не рекомендуется устанавливать значение меньше, чем в параметре |
|
| Указывает максимальное количество активных подключений | |
| Минимальная задержка до повторного запроса в случае ошибки HTTP-запроса к |
|
| Максимальная задержка до повторного запроса в случае ошибки HTTP-запроса к |
|
| При ошибке HTTP-запроса к |
|
Пример конфигурации:
app:multisite:enabled: trueid: "0"s3_version: "1.61.0"hync_timeout: 1ttr: 10peers:interval: 60restart_time: 5strict_version_check: falsecontrol_plane:enabled: truettr: 10yield_sleep_time: 0.01fail_sleep_time: 0.1control_plane_resync:enabled: truettr: 10yield_sleep_time: 0.01fail_sleep_time: 0.1policebank_timeout: 4policebank_retries: 3control_plane_resync_tasks:enabled: truettr: 10yield_sleep_time: 0.01fail_sleep_time: 0.1
Параметр | Описание | Значение по умолчанию |
|---|---|---|
Основные параметры — префикс: | ||
| Включение или выключение multisite. Доступные значения:
| |
| Идентификатор текущей инсталляции в кластере multisite | |
| Версия инсталляции; используется для проверки совместимости пиров | |
| Тайм-аут в секундах обращения к Hync при синхронизации метаданных и данных между установками |
|
| TTR задачи в очереди метаданных, в секундах |
|
Фоновая синхронизация пиров — префикс: | ||
| Интервал в секундах между циклами фоновой синхронизации пиров |
|
| Время в секундах перед перезапуском фонового воркера синхронизации пиров |
|
| Включение или выключение строгой проверки совпадения версий между пирами |
|
Очередь синхронизации метаданных (multisite_xqmeta) [Control Plane] — префикс: | ||
| Включение или выключение обработки очереди метаданных |
|
| TTR задачи в очереди метаданных, в секундах |
|
| Время ожидания в секундах при |
|
| Время ожидания в секундах при ошибке обработки задачи в очереди метаданных |
|
Очередь ресинхронизации метаданных (multisite_xqmeta_resync) — префикс: | ||
| Включение или выключение обработки очереди |
|
| Time-to-run в секундах задачи в очереди. Нужен для |
|
| Время ожидания в секундах при |
|
| Время ожидания в секундах при ошибке обработки задачи в очереди |
|
| Тайм-аут в секундах вызова |
|
| Количество повторных попыток вызова |
|
Очередь задач ресинхронизации метаданных (multisite_xqmeta_resync_tasks) [Control Plane] — префикс: | ||
| Включение или выключение обработки очереди |
|
| TTR задачи в очереди, в секундах. Нужен для |
|
| Время ожидания в секундах при |
|
| Время ожидания в секундах при ошибке обработки задачи в очереди |
|
Файл конфигурации Haron находится в директории /etc/storage-daemons/config.yaml.
Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Период, через который удаляются orphan-файлы |
|
| Период, через который удаляются устаревшие файлы |
|
Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Использовать новые версии API, поддерживающие работу с юнитами |
|
Путь к конфигурации Matter приведен в таблице 1.
Пример конфигурации:
etcd:endpoints:prefix:timeout_per_req:username:password:max_retries:base_delay:time_lag_for_applying_changes:clusters:cluster_name:master:instances:instance_name:cluster:box:listen:cluster_streamer:workdir:row_group_size:retry:num:duration:spaces:space_name:pool:check_timeout:retrier:num:duration:
параметр | Описание | Формат | Обязательный |
|---|---|---|---|
etcd — секция с описанием конфигурации | |||
| Эндпоинты | string | |
| Префикс необходимых ключей | string | |
| Время ожидания заголовка ответа. Значение по умолчанию — | string duration | |
| Имя для доступа к | string | |
| Пароль для доступа к | string | |
| Количество попыток в одной итерации (сколько раз будет повышаться | int | |
| Первое значение (для экспоненциальной длительности) времени между новой попыткой для запуска watcher | string duration | |
| Промежуток времени для применения новых данных из | string duration | |
instances — секция с описанием узлов Tarantool | |||
| Имя Tarantool в кластере | string | |
| Имя кластера этого Tarantool | string | |
| Конфигурация подключения к Tarantool |
| |
| IP-адрес Tarantool | string | |
cluster_streamer — секция с описанием конфигурации коннектора анонимной реплики для скачивания снимков | |||
| Директория для хранения снимков в виде parquet-файлов | string | |
| Размер группы хешей в parquet-файлах | int | |
| Конфигурация, настраивающая повторные попытки соединения анонимной реплики с кластером | string | |
| Максимальное количество попыток скачивания снимков. Значение по умолчанию — | string | (если не установлен |
| Период попыток скачивания снимков, в секундах. Значение по умолчанию — | string | (если не установлен |
| Список пространств для выгрузки в parquet-файлы | string | |
| Уникальный space для выгрузки в parquet-файл | string | |
pool — секция с описанием конфигурации подключения к кластерам | |||
| Тайм-аут для переподключения закрытого соединения, сек. Значение по умолчанию — | string duration | |
| Конфигурация | ||
| Количество попыток переподключения при неудачном подключении к кластеру. Значение по умолчанию — | int | (если задан |
| Время ожидания между попытками на успех задачи тачинга, сек. Значение по умолчанию — | string | (если задан |
| Механизм для искусственного ограничения частоты запросов (request pacer) | string | |
| Количество запросов в секунду | int | (если задан |
Пример конфигурации:
shinobi:disabled: falsedefault_clusters:1: 'shinobi_01'2: 'shinobi_02'connect_timeout: 1timeout: 1ping_interval: 1ping_timeout: 0.5reconnect_interval: 5max_failcount: 10
Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Если |
|
| Список кластеров, которые будут использоваться для работы с Matter. Ключ — идентификатор кластера, значение — его имя. Если значение не указано, будут использоваться все кластеры, найденные в Etcd | |
| Максимальное время ожидания подключения к серверу Shinobi (в секундах) |
|
| Общее время ожидания ответа от сервера (в секундах) |
|
| Интервал между пингами для проверки активности соединения (в секундах) |
|
| Таймаут ожидания ответа на пинг (в секундах) |
|
| Интервал между попытками переподключения после потери соединения (в секундах) |
|
| Максимальное количество неудачных попыток подключения до того, как будет отключен модуль |
|
Пример:
queue_shinobi:disabled: falsedebug: falseworkers: 10max_delay: 900
Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Если |
|
| Если |
|
| Количество параллельных воркеров (процессов или потоков), которые будут обрабатывать задачи из очереди. Чем больше воркеров, тем выше производительность, но и потребление ресурсов |