Конфигурационные параметры ADS
Статья описывает параметры, которые могут быть настроены для сервисов ADS через ADCM. Процесс настройки сервисов приведен в соответствующих статьях: Online-установка, Offline-установка.
ПРИМЕЧАНИЕ
Некоторые из перечисленных параметров становятся доступны в UI ADCM после установки флага Show advanced.
|
Kafka
Параметр | Описание | Значение по умолчанию |
---|---|---|
Host index matching |
Указывает |
— |
Kafka quorum solution |
Указывает, какой кворум используется Kafka для хранения метаданных и выбора лидера. Необходимо установить в |
Zookeeper |
KRaft migration mode |
Указывает, находится ли Kafka в состоянии миграции в режим KRaft |
false |
Kafka Ranger plugin enabled |
Указывает, включен ли Плагин Ranger Kafka (заполняется автоматически) |
false |
Параметры переменных окружения сервиса Kafka
Параметр | Описание | Значение по умолчанию |
---|---|---|
PID_DIR |
Каталог для хранения ID процесса Kafka |
/var/run/kafka |
LOG_DIR |
Каталог для хранения логов |
/var/log/kafka |
JMX_PORT |
Порт, по которому Kafka отдает JMX-метрики |
9999 |
KAFKA_OPTS |
Переменные окружения для Kafka |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
auto.create.topics.enable |
Включение автоматического создания топиков |
false |
auto.leader.rebalance.enable |
Включение автоматической балансировки лидера. Балансировка лидера в фоновом режиме через регулярные промежутки времени |
true |
queued.max.requests |
Количество запросов в очереди до блокировки сетевых потоков |
500 |
num.network.threads |
Количество потоков, используемых сервером для получения запросов от сети и отправки ответов в сеть |
3 |
num.io.threads |
Число потоков, используемых сервером для обработки запросов, которые могут включать дисковые операции ввода-вывода |
8 |
unclean.leader.election.enable |
Указывает, следует ли выбирать не входящие в набор ISR-реплики в качестве лидера в крайнем случае, даже если это может привести к потере данных |
false |
offsets.topic.replication.factor |
Коэффициент репликации для топика смещения (устанавливается выше с целью обеспечения доступности). Создание внутреннего топика невозможно, пока размер кластера не соответствует данному требованию коэффициента репликации |
1 |
transaction.state.log.min.isr |
Переопределение конфигурации |
1 |
transaction.state.log.replication.factor |
Коэффициент репликации для топика транзакции (задается выше для обеспечения доступности). Создание внутреннего топика завершается ошибкой, пока размер кластера не соответствует данному требованию к фактору репликации |
1 |
zookeeper.connection.timeout.ms |
Максимальное время ожидания клиентом установки соединения с ZooKeeper. Если параметр не задан, используется значение |
30000 |
zookeeper.session.timeout.ms |
Тайм-аут сессии ZooKeeper (в мс) |
30000 |
zookeeper.sync.time.ms |
Удаленность последователя ZooKeeper от лидера ZooKeeper (в мс) |
2000 |
security.inter.broker.protocol |
Протокол безопасности, используемый для связи между брокерами |
PLAINTEXT |
ssl.keystore.location |
Расположение файла хранилища ключей keystore. Это необязательно для клиента и может использоваться для двухэтапной аутентификации клиента |
— |
ssl.keystore.password |
Пароль хранилища для файла хранилища ключей keystore. Это необязательно для клиента и требуется только в том случае, если настроен параметр |
— |
ssl.key.password |
Пароль закрытого ключа в файле хранилища ключей keystore. Это необязательно для клиента |
— |
ssl.keystore.type |
Формат файла хранилища ключей keystore. Это необязательно для клиента |
— |
ssl.truststore.location |
Расположение файла хранилища truststore |
— |
ssl.truststore.password |
Пароль хранилища для файла хранилища truststore. Это необязательно для клиента и требуется только в том случае, если настроен параметр |
— |
ssl.truststore.type |
Формат файла хранилища truststore |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации server.properties |
— |
log.dirs |
Каталог для хранения логов |
/kafka-logs |
listeners |
Разделенный запятыми список URI, которые будут прослушиваться, и имена слушателей. Поддерживается только смена порта. Изменение протокола или добавление прослушивателя может вызвать ошибки |
PLAINTEXT://:9092 |
default.replication.factor |
Фактор репликации по умолчанию для автоматически создаваемых топиков |
1 |
num.partitions |
Количество партиций журнала каждого топика по умолчанию |
1 |
delete.topic.enable |
Параметр позволяет удалять топики. Если параметр выключен, то удаление топика через инструменты администрирования не приводит к фактическому удалению |
true |
log.retention.hours |
Количество часов, в течение которых топики хранятся в Kafka |
168 |
log.roll.hours |
Количество часов, по истечении которых пояляется новый журнал сегмента, даже если старый журнал не переполнен |
168 |
log.cleanup.policy |
Политика очистки журналов |
delete |
log.cleanup.interval.mins |
Интервал, определяющий, как часто средство очистки журналов проверяет журналы, подлежащие удалению. Файл журнала подлежит удалению, если он не был изменен в течение времени, заданного параметром |
10 |
log.cleaner.min.compaction.lag.ms |
Минимальное время, в течение которого сообщение остается несжатым в журнале. Применяется только для журналов с функцией сжатия (в мс) |
0 |
log.cleaner.delete.retention.ms |
Время, в течение которого должны сохраняться маркеры удаленных записей в реплике для топиков в сжатых журналах (log compacted topics) (в мс) |
86400000 |
log.cleaner.enable |
Включает запуск процесса очистки журналов на сервере |
true |
Параметр | Описание | Значение по умолчанию |
---|---|---|
jmx_port |
Порт, по которому отправляются JMX-метрики |
9999 |
JMX Exporter Port |
Порт для подключения к Prometheus JMX Exporter |
11201 |
Включает аутентификацию для JMX в сервисе (используется при необходимости защиты доступа к JMX-порту)
Параметр | Описание | Значение по умолчанию |
---|---|---|
Username |
Имя пользователя для аутентификации в JMX |
monitoring |
Password |
Пароль пользователя для аутентификации в JMX |
— |
Параметры Apache Ranger
Параметр | Описание | Значение по умолчанию |
---|---|---|
xasecure.audit.destination.solr.batch.filespool.dir |
Каталог для Solr audit spool |
/srv/ranger/kafka_plugin/audit_solr_spool |
xasecure.audit.destination.solr.urls |
Определяет Solr URL. Не устанавливается при использовании ZooKeeper для подключения к Solr |
— |
xasecure.audit.destination.solr.zookeepers |
Включает аудит в Solr для плагинов Ranger |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-kafka-audit.xml |
— |
Параметры Apache Ranger
Параметр | Описание | Значение по умолчанию |
---|---|---|
ranger.plugin.kafka.policy.rest.url |
Путь (адрес, порт) для подключения к Ranger Admin Kafka |
— |
ranger.plugin.kafka.service.name |
Имя сервиса Ranger, содержащего политику для конкретного экземпляра Kafka |
— |
ranger.plugin.kafka.policy.cache.dir |
Каталог, в котором кешируется политика Ranger после успешного извлечения из источника |
/srv/ranger/kafka/policycache |
ranger.plugin.kafka.policy.pollIntervalMs |
Как часто проводить опрос на предмет изменений в политике (в мс) |
30000 |
ranger.plugin.kafka.policy.rest.client.connection.timeoutMs |
Тайм-аут соединения плагина Kafka RangerRestClient (в мс) |
120000 |
ranger.plugin.kafka.policy.rest.client.read.timeoutMs |
Тайм-аут чтения плагина Kafka RangerRestClient (в мс) |
30000 |
ranger.plugin.kafka.policy.rest.ssl.config.file |
Расположение файла, содержащего SSL-данные для соединения с Ranger Admin |
/etc/kafka/conf/ranger-policymgr-ssl.xml |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-kafka-security.xml |
— |
Apache Ranger options
Параметр | Описание | Значение по умолчанию |
---|---|---|
xasecure.policymgr.clientssl.keystore |
Расположение файла хранилища ключей keystore |
— |
xasecure.policymgr.clientssl.keystore.password |
Пароль хранилища ключей keystore |
— |
xasecure.policymgr.clientssl.truststore |
Расположение файла хранилища сертификатов truststore |
— |
xasecure.policymgr.clientssl.truststore.password |
Пароль хранилища truststore |
— |
xasecure.policymgr.clientssl.keystore.credential.file |
Расположение файла учетных записей keystore |
/etc/kafka/conf/keystore.jceks |
xasecure.policymgr.clientssl.truststore.credential.file |
Расположение файла учетных записей truststore |
/etc/kafka/conf/truststore.jceks |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-policymgr-ssl.xml |
— |
Шаблон пользовательского файла jaas.conf предназначен для указания пользовательских данных подключения клиентов других сервисов к текущему сервису (пути к keytab-файлам, параметр useTicketCache
и другие). Подробнее см. Настройка пользовательского jaas.conf.
Значение по умолчанию:
{% if cluster.config.kerberos_client and cluster.config.kerberos_client.enable_kerberos %}
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/kafka.service.keytab"
principal="kafka/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/kafka.service.keytab"
principal="kafka/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
KafkaServer {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
serviceName="kafka"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/kafka.service.keytab"
principal="kafka/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
{%- elif cluster.config.sasl_plain_auth_default_config is not none %}
{%- set credential = cluster.config.sasl_plain_auth_default_config.sasl_plain_users_data %}
KafkaServer {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka"
password="{{ credential['kafka'] }}"
{% for user, password in credential.items() %}
user_{{ user }}="{{ password }}"{% if loop.index != loop | length %}
{% endif %}
{% endfor %};
};
{% endif %}
Шаблон предназначен для указания данных для подключения к узлам Hadoop.
Значение по умолчанию:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hadoop.security.authentication</name>
<value>kerberos</value>
</property>
<property>
<name>hadoop.security.authorization</name>
<value>true</value>
</property>
</configuration>
Параметр | Описание | Значение по умолчанию |
---|---|---|
storage.hdfs.root |
Полный путь к директории HDFS, предназначенной для хранения сегментов Kafka |
/kafka |
storage.hdfs.upload.buffer.size |
Размер используемого для передачи данных буфера в байтах |
8192 |
Параметр | Описание | Значение по умолчанию |
---|---|---|
storage.s3.endpoint.url |
Эндпойнт хранилища S3 |
— |
storage.s3.bucket.name |
Имя бакета S3 — единицы хранения объектного хранилища, выделенная для пользовательских данных |
— |
storage.aws.access.key.id |
Идентификатор доступа к хранилищу S3 |
— |
storage.aws.secret.access.key |
Ключ доступа к хранилищу S3 |
— |
storage.s3.region |
Код региона хранилища S3. Не может быть пустым. Если на сервере S3 не предусмотрен такой параметр, установите для него любое значение, например, |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
chunk.size |
Размер фрагмента данных, который будет одновременно извлекаться/загружаться из/в многоуровневое хранилище данных |
4194304 |
fetch.chunk.cache.path |
Путь к каталогу для хранения фрагментов кеша полученных данных из многоуровневого хранилища |
/var/cache/kafka |
fetch.chunk.cache.prefetch.max.size |
Максимальный размер извлекаемого фрагмента данных |
8388608 |
fetch.chunk.cache.size |
Максимальный размер всего кеша получения |
1073741824 |
fetch.chunk.cache.retention.ms |
Время жизни кеша |
600000 |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Interval_sec |
Интервал времени между последовательными перезапусками (rolling restart), в секундах |
10 |
Retries |
Количество попыток перезапуска |
12 |
Нажмите +1 для указания пользовательского слушателя для Kafka на странице конфигурирования сервиса. Новый слушатель будет добавлен к свойству listeners
в /usr/lib/kafka/config/server.properties в формате {name}://:{port}
, а также новый протокол слушателя будет добавлен к свойству listener.security.protocol.map
в формате {name}:{protocol}
.
Параметр | Описание |
---|---|
name |
Имя нового слушателя, должно быть указано в верхнем регистре |
protocol |
Протокол прослушивателя, должен быть указан один из протоколов: |
port |
Порт прослушивателя |
Конфигурационные параметры компонента Kafka Broker:
Параметр | Описание | Значение по умолчанию |
---|---|---|
log4j.rootLogger |
Настройка уровня ведения логов |
INFO |
log4j.logger.org.apache.zookeeper |
Настройка ведения логов клиента ZooKeeper |
INFO |
log4j.logger.kafka |
Настройка уровня ведения логов брокера Kafka (вывод в server.log и стандартный вывод). См. также |
INFO |
log4j.logger.org.apache.kafka |
Настройка уровня ведения логов брокера Kafka (вывод в server.log и стандартный вывод). См. также |
INFO |
log4j.logger.kafka.request.logger |
Настройка ведения лога запросов — измените на |
WARN |
log4j.logger.kafka.controller |
Настройка уровня ведения логов контроллера Kafka |
TRACE |
log4j.logger.kafka.log.LogCleaner |
Настройка уровня очистки логов Kafka |
INFO |
log4j.logger.state.change.logger |
Настройка изменения статуса логов |
INFO |
log4j.logger.kafka.authorizer.logger |
Настройка доступа к логам — отказы в доступе регистрируются на уровне |
INFO |
Параметр | Описание | Значение по умолчанию |
---|---|---|
log4j.logger.kafka.network.Processor |
Настройка уровня ведения логов сетевых потоков процессора |
TRACE |
log4j.logger.kafka.server.KafkaApis |
Настройка уровня ведения логов KafkaApis (обработка запросов к брокеру Kafka) |
TRACE |
log4j.logger.kafka.network.RequestChannel |
Настройка уровня ведения логов запросов в очереди |
TRACE |
Шаблон пользовательского файла log4j_properties предназначен для указания пользовательских параметров логирования
Значение по умолчанию:
{% set kafka_broker_log4j_properties_configuration = services.kafka.BROKER.config.log4j_properties_configuration %}
log4j.rootLogger={{ kafka_broker_log4j_properties_configuration['log4j.rootLogger'] }}, stdout, kafkaAppender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.stateChangeAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.stateChangeAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.stateChangeAppender.File=${kafka.logs.dir}/state-change.log
log4j.appender.stateChangeAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.stateChangeAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.requestAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.requestAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.requestAppender.File=${kafka.logs.dir}/kafka-request.log
log4j.appender.requestAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.requestAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.cleanerAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.cleanerAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.cleanerAppender.File=${kafka.logs.dir}/log-cleaner.log
log4j.appender.cleanerAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.cleanerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.controllerAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.controllerAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.controllerAppender.File=${kafka.logs.dir}/controller.log
log4j.appender.controllerAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.controllerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.authorizerAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.authorizerAppender.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.authorizerAppender.File=${kafka.logs.dir}/kafka-authorizer.log
log4j.appender.authorizerAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.authorizerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.logger.org.apache.zookeeper={{ kafka_broker_log4j_properties_configuration['log4j.logger.org.apache.zookeeper'] }}
log4j.logger.kafka={{ kafka_broker_log4j_properties_configuration['log4j.logger.kafka'] }}
log4j.logger.org.apache.kafka={{ kafka_broker_log4j_properties_configuration['log4j.logger.org.apache.kafka'] }}
log4j.logger.kafka.request.logger={{ kafka_broker_log4j_properties_configuration['log4j.logger.kafka.request.logger'] }}, requestAppender
log4j.additivity.kafka.request.logger=false
{% if services.kafka.BROKER.config.log4j_advanced_properties_configuration['log4j.logger.kafka.network.Processor'] is defined %}
{% set kafka_broker_log4j_advanced_properties_configuration = services.kafka.BROKER.config.log4j_advanced_properties_configuration %}
log4j.logger.kafka.network.Processor={{ kafka_broker_log4j_advanced_properties_configuration['log4j.logger.kafka.network.Processor'] }}, requestAppender
log4j.logger.kafka.server.KafkaApis={{ kafka_broker_log4j_advanced_properties_configuration['log4j.logger.kafka.server.KafkaApis'] }}, requestAppender
log4j.additivity.kafka.server.KafkaApis=false
log4j.logger.kafka.network.RequestChannel$={{ kafka_broker_log4j_advanced_properties_configuration['log4j.logger.kafka.network.RequestChannel'] }}, requestAppender
{% else %}
log4j.logger.kafka.network.RequestChannel$=WARN, requestAppender
{% endif %}
log4j.additivity.kafka.network.RequestChannel$=false
log4j.logger.kafka.controller={{ kafka_broker_log4j_properties_configuration['log4j.logger.kafka.controller'] }}, controllerAppender
log4j.additivity.kafka.controller=false
log4j.logger.kafka.log.LogCleaner={{ kafka_broker_log4j_properties_configuration['log4j.logger.kafka.log.LogCleaner'] }}, cleanerAppender
log4j.additivity.kafka.log.LogCleaner=false
log4j.logger.state.change.logger={{ kafka_broker_log4j_properties_configuration['log4j.logger.state.change.logger'] }}, stateChangeAppender
log4j.additivity.state.change.logger=false
log4j.logger.kafka.authorizer.logger={{ kafka_broker_log4j_properties_configuration['log4j.logger.kafka.authorizer.logger'] }}, authorizerAppender
log4j.additivity.kafka.authorizer.logger=false
Параметр | Описание | Значение по умолчанию |
---|---|---|
log4j.rootLogger |
Настройка уровня ведения логов |
WARN |
Шаблон tools_log4j_properties предназначен для указания пользовательских параметров логирования.
Значение по умолчанию:
{% set kafka_broker_tools_log4j_properties_configuration = services.kafka.BROKER.config.tools_log4j_properties_configuration %}
log4j.rootLogger={{ kafka_broker_tools_log4j_properties_configuration['log4j.rootLogger'] }}, stderr
log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.stderr.Target=System.err
Конфигурационные параметры компонента Kafka Controller:
Параметр | Описание | Значение по умолчанию |
---|---|---|
listeners |
Порт для подключения к Kafka Controller |
CONTROLLER://:9093 |
Metadata log.dirs |
Путь к месту хранения метаданных кластера |
/kafka-meta |
Параметр | Описание | Значение по умолчанию |
---|---|---|
PID_DIR |
Каталог для хранения ID Kafka Controller |
/var/run/kafka-controller |
LOG_DIR |
Каталог для хранения логов |
/var/log/kafka-controller |
Kafka Connect
Параметр | Описание | Значение по умолчанию |
---|---|---|
tasks.max |
Максимальное количество задач, которые могут быть созданы для этого коннектора |
10 |
offset-syncs.topic.replication.factor |
Фактор репликации для внутреннего топика |
1 |
checkpoint.topic.replication.factor: |
Фактор репликации для внутреннего топика |
1 |
sync.topic.acls.enabled |
Включение мониторинга исходного кластера на предмет изменений ACL |
false |
Параметр | Описание | Значение по умолчанию |
---|---|---|
KAFKA_HEAP_OPTS |
Размер heap, выделенный серверному процессу KAFKA |
-Xms256M -Xmx2G |
LOG_DIR |
Каталог для хранения логов |
/var/log/kafka |
KAFKA_LOG4J_OPTS |
Переменная окружения для конфигурации ведения журнала LOG4J |
-Dlog4j.configuration=file:/etc/kafka/conf/connect-distributed-log4j.properties |
KAFKA_OPTS |
Переменные окружения для Kafka |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
group.id |
Уникальная строка, идентифицирующая группу Kafka Connect, которой принадлежит этот коннектор |
mm-connect |
rest.port |
Порт для работы Kafka Connect REST API |
8083 |
plugin.path |
Путь к плагину Kafka Connect |
— |
config.storage.replication.factor |
Фактор репликации для |
1 |
offset.storage.replication.factor |
Фактор репликации для |
1 |
status.storage.replication.factor |
Фактор репликации для |
1 |
offset.flush.interval.ms |
Интервал, через который можно попытаться зафиксировать смещения для задач (в мс) |
1 |
key.converter |
Преобразователь класса для ключевых данных Connect |
org.apache.kafka.connect.converters.ByteArrayConverter |
value.converter |
Преобразователь класса для значения Connect data |
org.apache.kafka.connect.converters.ByteArrayConverter |
connector.client.config.override.policy |
Имя класса или псевдоним реализации ConnectorClientConfigOverridePolicy |
None |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации connect-distributed.properties |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
rootLogger |
Уровень ведения логов |
INFO |
MaxBackupIndex |
Максимальное количество сохраненых файлов |
10 |
MaxFileSize |
Максимальный размер файла |
100MB |
Настройка структуры файла конфигурации ведения журнала для Kafka Connect
Журнал (логгер) | Имена пакетов по умолчанию | Уровень события по умолчанию |
---|---|---|
loggers |
org.apache.zookeeper |
ERROR |
org.I0Itec.zkclient |
ERROR |
|
org.reflections |
ERROR |
Шаблон connect_distributed_log4j_properties предназначен для указания пользовательских параметров логирования
Значение по умолчанию:
{% set connect_distributed_log4j_properties = services.kafka_connect.config.connect_distributed_log4j_properties_content %}
log4j.rootLogger={{ connect_distributed_log4j_properties['rootLogger'] }}, connectDRFA, connectRFA, stdout
# Send the logs to the console.
#
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#
# The `%X{connector.context}` parameter in the layout includes connector-specific and task-specific information
# in the log message, where appropriate. This makes it easier to identify those log messages that apply to a
# specific connector. Simply add this parameter to the log layout configuration below to include the contextual information.
#
#log4j.appender.stdout.layout.ConversionPattern=[%d] %p %X{connector.context}%m (%c:%L)%n
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
connect.log.pattern=[%d] %p %m (%c:%L)%n
{% for key, value in connect_distributed_log4j_properties['loggers'] | dictsort -%}
log4j.logger.{{ key }}={{ value }}
{% endfor -%}
log4j.appender.connectDRFA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.connectDRFA.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.connectDRFA.File=${kafka.logs.dir}/connect-distributed.log
log4j.appender.connectDRFA.layout=org.apache.log4j.PatternLayout
log4j.appender.connectDRFA.layout.ConversionPattern=${connect.log.pattern}
log4j.appender.connectDRFA.MaxBackupIndex={{ connect_distributed_log4j_properties['MaxBackupIndex'] }}
log4j.appender.connectRFA=org.apache.log4j.RollingFileAppender
log4j.appender.connectRFA.File=${kafka.logs.dir}/connect-distributed.log
log4j.appender.connectRFA.layout=org.apache.log4j.PatternLayout
log4j.appender.connectRFA.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.appender.connectRFA.Append=true
log4j.appender.connectRFA.MaxBackupIndex={{ connect_distributed_log4j_properties['MaxBackupIndex'] }}
log4j.appender.connectRFA.MaxFileSize={{ connect_distributed_log4j_properties['MaxFileSize'] }}
Параметр | Описание | Значение по умолчанию |
---|---|---|
ssl.keystore.location |
Расположение файла хранилища ключей keystore. Это необязательно для клиента и может использоваться для двухэтапной аутентификации клиента |
— |
ssl.keystore.password |
Пароль хранилища для файла хранилища ключей keystore. Это необязательно для клиента и требуется только в том случае, если настроен параметр |
— |
ssl.key.password |
Пароль закрытого ключа в файле хранилища ключей keystore. Это необязательно для клиента |
— |
ssl.keystore.type |
Формат файла хранилища ключей keystore. Это необязательно для клиента |
— |
ssl.truststore.location |
Расположение файла хранилища truststore |
— |
ssl.truststore.password |
Пароль хранилища для файла хранилища truststore. Это необязательно для клиента и требуется только в том случае, если настроен параметр |
— |
ssl.truststore.type |
Формат файла хранилища truststore |
— |
Шаблон пользовательского файла jaas.conf предназначен для указания пользовательских данных подключения клиентов других сервисов к текущему сервису (пути к keytab-файлам, параметр useTicketCache
и другие). Подробнее см. Настройка пользовательского jaas.conf.
Значение по умолчанию:
{% if cluster.config.kerberos_client and cluster.config.kerberos_client.enable_kerberos %}
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
serviceName="kafka"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/kafka-connect.service.keytab"
principal="kafka-connect/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
{%- elif cluster.config.sasl_plain_auth_default_config is not none %}
{%- set credential = cluster.config.sasl_plain_auth_default_config.sasl_plain_users_data %}
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka-connect"
password="{{ credential['kafka-connect'] }}";
};
{%- endif %}
Параметр | Описание | Значение по умолчанию |
---|---|---|
jmx_port |
Порт, по которому отправляются JMX-метрики |
9996 |
JMX Exporter Port |
Порт для подключения к Prometheus JMX Exporter |
11205 |
Включает аутентификацию для JMX в сервисе (используется при необходимости защиты доступа к JMX-порту)
Параметр | Описание | Значение по умолчанию |
---|---|---|
Username |
Имя пользователя для аутентификации в JMX |
monitoring |
Password |
Пароль пользователя для аутентификации в JMX |
— |
Kafka REST Proxy
Параметр | Описание | Значение по умолчанию |
---|---|---|
rest_listener_port |
Порт, который слушает REST Proxy. Указывается в качестве параметра |
8082 |
Параметр | Описание | Значение по умолчанию |
---|---|---|
LOG_DIR |
Каталог для хранения логов |
/var/log/kafka-rest |
JMX_PORT |
Порт, по которому Kafka REST Proxy отдает JMX-метрики |
9998 |
KAFKAREST_HEAP_OPTS |
Размер heap, выделенный процессу Kafka REST Proxy |
-Xmx1024M |
KAFKAREST_JMX_OPTS |
Параметры JVM в части опций JMX (авторизация, подключение, ssl) |
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false |
KAFKAREST_OPTS |
Имя переменной окружения Kafka REST Proxy |
-Djava.security.auth.login.config=/etc/kafka-rest/jaas_config.conf |
Параметр | Описание | Значение по умолчанию |
---|---|---|
authentication.method |
Способ аутентификации |
BASIC |
authentication.roles |
Список ролей пользователей, разделенных запятыми. Чтобы авторизоваться на сервере Kafka REST Proxy, аутентифицированный пользователь должен принадлежать хотя бы к одной из этих ролей. Подробнее см. Basic-аутентификация |
admin |
authentication.realm |
Cоответствовует разделу в файле jaas_config.file, который определяет, как сервер аутентифицирует пользователей, и должен быть передан как параметр JVM во время запуска сервера |
KafkaRest |
Параметр | Описание | Значение по умолчанию |
---|---|---|
id |
Уникальный идентификатор для этого экземпляра сервера REST |
kafka-rest-server |
consumer.threads |
Минимальное количество потоков для выполнения потребительского запроса. Параметр следует установить выше, чем максимальное количество потребителей в одной группе потребителей |
50 |
consumer.request.timeout.ms |
Максимальное общее время ожидания сообщений для запроса, если максимальный размер запроса еще не достигнут (в мс) |
100 |
consumer.request.max.bytes: |
Максимальное количество байтов в ключах сообщений и значениях, возвращаемых одним запросом |
67108864 |
fetch.min.bytes |
Минимальное количество байтов в ключах сообщений и значениях, возвращаемых одним запросом |
-1 |
ssl.endpoint.identification.algorithm |
Алгоритм идентификации конечной точки для проверки сервера c использованием сертификата сервера |
— |
ssl.keystore.location |
Используется для HTTPS. Расположение файла хранилища keystore SSL |
— |
ssl.keystore.type |
Формат файла хранилища keystore |
— |
ssl.keystore.password |
Используется для HTTPS. Пароль для доступа к keystore |
— |
ssl.key.password |
Используется для HTTPS. Пароль ключа, содержащегося в keystore |
— |
ssl.truststore.location |
Используется для HTTPS. Расположение truststore. Требуется только для аутентификации HTTPS-клиентов |
— |
ssl.truststore.type |
Формат файла хранилища truststore |
— |
ssl.truststore.password |
Используется для HTTPS. Пароль для доступа к хранилищу truststore |
— |
client.ssl.keystore.location |
Расположение файла хранилища keystore для использования SSL |
— |
client.ssl.keystore.password |
Пароль для доступа к keystore |
— |
client.ssl.key.password |
Пароль ключа, содержащегося в keystore |
— |
client.ssl.keystore.type |
Формат файла keystore |
— |
client.ssl.truststore.location |
Расположение файла хранилища truststore SSL |
— |
client.ssl.truststore.password |
Пароль для доступа к хранилищу truststore |
— |
client.ssl.truststore.type |
Формат файла хранилища truststore |
— |
client.ssl.endpoint.identification.algorithm |
Алгоритм идентификации конечной точки для проверки сервера |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации kafka-rest.properties |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
jmx_port |
Порт, по которому отправляются JMX-метрики |
9998 |
JMX Exporter Port |
Порт для подключения к Prometheus JMX Exporter |
11204 |
Включает аутентификацию для JMX в сервисе (используется при необходимости защиты доступа к JMX-порту)
Параметр | Описание | Значение по умолчанию |
---|---|---|
Username |
Имя пользователя для аутентификации в JMX |
monitoring |
Password |
Пароль пользователя для аутентификации в JMX |
— |
Шаблон пользовательского файла jaas.conf предназначен для указания пользовательских данных подключения клиентов других сервисов к текущему сервису (пути к keytab-файлам, параметр useTicketCache
и другие). Подробнее см. Настройка пользовательского jaas.conf.
Значение по умолчанию:
{% if cluster.config.basic_auth_default_config is not none %}
{{ services.kafka_rest.config.basic_auth_properties_content['authentication.realm'] }} {
org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
file="{{ rest_home_path }}/config/password.properties"
debug="false";
};
{% endif %}
{% if cluster.config.kerberos_client and cluster.config.kerberos_client.enable_kerberos %}
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
serviceName="kafka"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/kafka-rest.service.keytab"
principal="kafka-rest/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
{%- elif cluster.config.sasl_plain_auth_default_config is not none %}
{%- set credential = cluster.config.sasl_plain_auth_default_config.sasl_plain_users_data %}
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="kafka-rest"
password="{{ credential['kafka-rest'] }}";
};
{% endif %}
Параметр | Описание | Значение по умолчанию |
---|---|---|
JAAS Entry |
Раздел пользовательского файла jaas.conf, в котором указан список пользователей для аутентификации в Kafka. Подробнее см. Использование kafka-rest-security |
KafkaClient |
ksqlDB
Параметр | Описание | Значение по умолчанию |
---|---|---|
Listener port |
Порт, который слушает ksqlDB-server. Указывается в качестве параметра |
8088 |
Параметр | Описание | Значение по умолчанию |
---|---|---|
JMX_PORT |
Порт, по которому ksqlDB-server отдает JMX-метрики |
10099 |
LOG_DIR |
Каталог для хранения логов |
/var/log/ksql |
KSQL_HEAP_OPTS |
Размер heap, выделенный процессу ksqlDB-server |
-Xmx3g |
KSQL_JVM_PERFORMANCE_OPTS |
Параметры JVM в части опций PERFORMANCE |
-server -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+ExplicitGCInvokesConcurrent -XX:NewRatio=1 -Djava.awt.headless=true |
CLASSPATH |
Параметр виртуальной машины Java или компилятора Java, который указывает расположение пользовательских классов и пакетов |
/usr/lib/ksql/libs/* |
KSQL_CLASSPATH |
Путь к Java-развертыванию ksqlDB Server и связанных классов Java |
${CLASSPATH} |
KSQL_OPTS |
Переменная среды, указывает параметры конфигурации сервера ksqlDB. Свойства, установленные с помощью |
-Djava.security.auth.login.config=/etc/ksqldb/jaas_config.conf |
Параметр | Описание | Значение по умолчанию |
---|---|---|
authentication.method |
Способ аутентификации |
BASIC |
authentication.roles |
Список ролей пользователей, разделенных запятыми. Чтобы авторизоваться на сервере ksqlDB, аутентифицированный пользователь должен принадлежать хотя бы к одной из этих ролей. Подробнее см. Basic-аутентификация |
admin |
authentication.realm |
Cоответствовует разделу в файле jaas_config.file, который определяет, как сервер аутентифицирует пользователей, и должен быть передан как параметр JVM во время запуска сервера |
KsqlServer-Props |
Path to password.properties |
Путь к password.properties |
/etc/ksqldb/password.properties |
Параметр | Описание | Значение по умолчанию |
---|---|---|
application.id |
Идентификатор приложения |
ksql-server |
ksql.internal.topic.replicas |
Фактор репликации для внутренних топиков ksqlDB Servers |
1 |
ksql.streams.state.dir |
Каталог хранилища для работы с отслеживанием состояния |
/usr/lib/ksql/state |
ksql.streams.replication.factor |
Основные внутренние топики Kafka Streams |
1 |
ksql.streams.topic.min.insync.replicas |
Минимальное количество брокеров, которые должны иметь данные, записанные в синхронизированные реплики |
2 |
ksql.streams.num.standby.replicas |
Количество реплик для операций с состоянием |
1 |
ksql.streams.producer.acks |
Количество брокеров, которым необходимо подтвердить получение сообщения, прежде чем оно будет считаться успешной записью |
all |
ksql.streams.producer.delivery.timeout.ms |
Срок годности пакетного файла (batch) (в мс) |
2147483647 |
ksql.streams.producer.max.block.ms |
Максимально допустимое время для блокировки производителем (в мс) |
9223372036854775000 |
ssl.endpoint.identification.algorithm |
Алгоритм идентификации конечной точки для проверки сервера |
http |
ssl.keystore.location |
Используется для HTTPS. Расположение файла хранилища ключей для использования SSL |
— |
ssl.keystore.type |
Формат файла keystore |
— |
ssl.keystore.пароль |
Используется для HTTPS. Пароль хранилища для файла |
— |
ssl.key.password |
Используется для HTTPS. Пароль закрытого ключа в файле keystore |
— |
ssl.truststore.location |
Расположение файла truststore |
— |
ssl.truststore.type |
Формат файла хранилища truststore |
— |
ssl.truststore.password |
Используется для HTTPS. Пароль хранилища для файла хранилища truststore |
— |
ksql.schema.registry.ssl.keystore.location |
Расположение файла хранилища ключей SSL |
— |
ksql.schema.registry.ssl.keystore.password |
Пароль для доступа к keystore |
— |
ksql.schema.registry.ssl.key.password |
Пароль ключа, содержащегося в keystore |
— |
ksql.schema.registry.ssl.keystore.type |
Формат файла keystore |
— |
ksql.schema.registry.ssl.truststore.location |
Расположение файла хранилища сертификатов SSL truststore |
— |
ksql.schema.registry.ssl.truststore.password |
Пароль для доступа к хранилищу truststore |
— |
ksql.schema.registry.ssl.truststore.type |
Формат файла хранилища truststore |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации server.properties |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
group.id |
Уникальный идентификатор группы |
ksql-connect-cluster |
key.converter |
Определяет формат данных в Kafka и способ их преобразования в данные Connect |
org.apache.kafka.connect.storage.StringConverter |
key.converter.schema.registry.url |
Расположение ключевых данных ksqlDB |
|
value.converter |
Преобразователь класса для значений ksqlDB data |
io.confluent.connect.avro.AvroConverter |
value.converter.schema.registry.url |
Расположение значений ksqlDB data |
|
config.storage.topic |
Имя внутреннего топика для хранения конфигураций |
ksql-connect-configs |
offset.storage.topic |
Имя внутреннего топика для хранения статистики подключения |
ksql-connect-offsets |
status.storage.topic |
Имя внутреннего топика для хранения статистики состояния подключения |
ksql-connect-statuses |
config.storage.replication.factor |
Фактор репликации для |
1 |
offset.storage.replication.factor |
Фактор репликации для |
1 |
status.storage.replication.factor |
Фактор репликации для |
1 |
internal.key.converter |
Класс преобразователя для внутренних значений с записями соединения |
org.apache.kafka.connect.json.JsonConverter |
internal.value.converter |
Класс преобразователя внутренних значений с записями соединения |
org.apache.kafka.connect.json.JsonConverter |
internal.key.converter.schemas.enable |
Конфигурация схемы для внутренней статистики подключения данных |
false |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации connect.properties |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
interceptor.classes |
Установка нового элемента в объект свойств Java, который вы используете для создания нового источника при отсутствии каких-либо "перехватчиков" (interceptors) |
io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации datagen.properties |
— |
Шаблон пользовательского файла jaas.conf предназначен для указания пользовательских данных подключения клиентов других сервисов к текущему сервису (пути к keytab-файлам, параметр useTicketCache
и другие). Подробнее см. Настройка пользовательского jaas.conf.
Значение по умолчанию:
{% if cluster.config.basic_auth_default_config is not none %}
{{ services.ksql.config.basic_auth_properties_content['authentication.realm'] }} {
org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
file="{{ ksql_home_path }}/config/password.properties"
debug="false";
};
{% endif %}
{% if cluster.config.kerberos_client and cluster.config.kerberos_client.enable_kerberos %}
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
serviceName="kafka"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/ksql-server.service.keytab"
principal="ksql-server/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
{%- elif cluster.config.sasl_plain_auth_default_config is not none %}
{%- set credential = cluster.config.sasl_plain_auth_default_config.sasl_plain_users_data %}
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="ksql-server"
password="{{ credential['ksql-server'] }}";
};
{% endif %}
Конфигурационные параметры компонента ksqlDB Server:
Параметр | Описание | Значение по умолчанию |
---|---|---|
log4j.rootLogger |
Настройка уровня ведения логов |
INFO |
log4j.logger.org.reflections |
Настройка уровня вывода предупреждений Reflections |
ERROR |
log4j.logger.org.apache.kafka.streams |
Настройка уровня ведения логов Kafka Streams |
INFO |
log4j.logger.kafka |
Настройка уровня ведения логов брокера Kafka (вывод в server.log и стандартный вывод). См. также |
WARN |
log4j.logger.org.apache.zookeeper |
Настройка ведения логов клиента ZooKeeper |
WARN |
log4j.logger.org.apache.kafka |
Настройка уровня ведения логов брокера Kafka (вывод в server.log и стандартный вывод). См. также |
WARN |
log4j.logger.org.I0Itec.zkclient |
Настройка уровня ведения лога клиента ZooKeeper |
WARN |
Параметр | Описание | Значение по умолчанию |
---|---|---|
log4j.logger.io.confluent.ksql.rest.server.resources.KsqlResource |
Запрет ksqlDB выходить из каждого получаемого запроса |
WARN |
Параметр | Описание | Значение по умолчанию |
---|---|---|
log4j.logger.io.confluent.ksql.util.KsqlConfig |
Включите во избежание спама журналов значениями KsqlConfig |
WARN |
Шаблон для пользовательской настройки библиотеки логирования log4j.
Значение по умолчанию:
# Maintained by ADCM
{% set ksql_server_log4j_properties_configuration = services.ksql.SERVER.config.log4j_properties_configuration %}
log4j.rootLogger={{ ksql_server_log4j_properties_configuration['log4j.rootLogger'] }}, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.appender.streams=org.apache.log4j.ConsoleAppender
log4j.appender.streams.layout=org.apache.log4j.PatternLayout
log4j.appender.streams.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.logger.org.reflections={{ ksql_server_log4j_properties_configuration['log4j.logger.org.reflections'] }}, stdout
{% if services.ksql.SERVER.config.log4j_logger_io_confluent_ksql_rest_server_resources_KsqlResource['log4j.logger.io.confluent.ksql.rest.server.resources.KsqlResource'] is defined %}
log4j.logger.io.confluent.ksql.rest.server.resources.KsqlResource={{ services.ksql.SERVER.config.log4j_logger_io_confluent_ksql_rest_server_resources_KsqlResource['log4j.logger.io.confluent.ksql.rest.server.resources.KsqlResource'] }}
{% endif %}
{% if services.ksql.SERVER.config.log4j_logger_io_confluent_ksql_util_KsqlConfig['log4j.logger.io.confluent.ksql.util.KsqlConfig'] is defined %}
log4j.logger.io.confluent.ksql.util.KsqlConfig={{ services.ksql.SERVER.config.log4j_logger_io_confluent_ksql_util_KsqlConfig['log4j.logger.io.confluent.ksql.util.KsqlConfig'] }}
{% endif %}
log4j.logger.org.apache.kafka.streams={{ ksql_server_log4j_properties_configuration['log4j.logger.org.apache.kafka.streams'] }}, streams
log4j.additivity.org.apache.kafka.streams=false
log4j.logger.kafka={{ ksql_server_log4j_properties_configuration['log4j.logger.kafka'] }}, stdout
log4j.logger.org.apache.zookeeper={{ ksql_server_log4j_properties_configuration['log4j.logger.org.apache.zookeeper'] }}, stdout
log4j.logger.org.apache.kafka={{ ksql_server_log4j_properties_configuration['log4j.logger.org.apache.kafka'] }}, stdout
log4j.logger.org.I0Itec.zkclient={{ ksql_server_log4j_properties_configuration['log4j.logger.org.I0Itec.zkclient'] }}, stdout
Шаблон для пользовательской настройки файла логирования log4j_rolling_properties.
Значение по умолчанию:
# Maintained by ADCM
{% set broker_port = (services.kafka.config.Main.listeners | regex_replace('.*:(\\d+)$', '\\1')) %}
{% set broker_hosts_with_port = services.kafka.config.bootstrap_servers_without_protocol %}
log4j.rootLogger=INFO, main
# appenders
log4j.appender.main=org.apache.log4j.RollingFileAppender
log4j.appender.main.File=${ksql.log.dir}/ksql.log
log4j.appender.main.layout=org.apache.log4j.PatternLayout
log4j.appender.main.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.appender.main.MaxFileSize=10MB
log4j.appender.main.MaxBackupIndex=5
log4j.appender.main.append=true
log4j.appender.streams=org.apache.log4j.RollingFileAppender
log4j.appender.streams.File=${ksql.log.dir}/ksql-streams.log
log4j.appender.streams.layout=org.apache.log4j.PatternLayout
log4j.appender.streams.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.appender.kafka=org.apache.log4j.RollingFileAppender
log4j.appender.kafka.File=${ksql.log.dir}/ksql-kafka.log
log4j.appender.kafka.layout=org.apache.log4j.PatternLayout
log4j.appender.kafka.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.appender.kafka.MaxFileSize=10MB
log4j.appender.kafka.MaxBackupIndex=5
log4j.appender.kafka.append=true
log4j.appender.kafka_appender=org.apache.kafka.log4jappender.KafkaLog4jAppender
log4j.appender.kafka_appender.layout=io.confluent.common.logging.log4j.StructuredJsonLayout
log4j.appender.kafka_appender.BrokerList=
{%- for host_with_port in broker_hosts_with_port.split(',') -%}
{% if loop.index > 1 %},{% endif -%}
{{ ('ssl' in cluster.multi_state) | ternary('https', 'http') }}://{{ host_with_port -}}
{% endfor %}
log4j.appender.kafka_appender.Topic=default_ksql_processing_log
log4j.appender.kafka_appender.SyncSend=true
log4j.appender.kafka_appender.IgnoreExceptions=false
{% if cluster.edition == 'enterprise' %}
{% set sasl_protocol = services.kafka.config['listeners_option']['sasl_protocol'] | d('none') %}
{% set ssl_enable = services.kafka.config['listeners_option']['ssl_enable'] | d(False) %}
log4j.appender.kafka_appender.SecurityProtocol={{ sasl_protocol | kafka_protocol(ssl_enable) }}
log4j.appender.kafka_appender.SaslMechanism={{ sasl_protocol | normalize_sasl_protocol }}
{% if sasl_protocol | normalize_sasl_protocol == 'PLAIN' %}
log4j.appender.kafka_appender.clientJaasConf=org.apache.kafka.common.security.plain.PlainLoginModule required \
username=ksql-server \
password="{{ cluster.config.sasl_plain_auth_default_config.sasl_plain_users_data['ksql-server'] }}";
{% endif %}
{% if sasl_protocol | normalize_sasl_protocol == 'GSSAPI' %}
log4j.appender.kafka_appender.SaslKerberosServiceName=kafka
log4j.appender.kafka_appender.clientJaasConf=com.sun.security.auth.module.Krb5LoginModule required \
useKeyTab=true \
storeKey=true \
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/ksql-server.service.keytab" \
principal="ksql-server/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}" \
serviceName="kafka";
{% endif %}
{% if ssl_enable %}
log4j.appender.kafka_appender.SslTruststoreLocation={{ services.kafka.config.server_properties_content['ssl.truststore.location'] }}
log4j.appender.kafka_appender.SslTruststorePassword={{ services.kafka.config.server_properties_content['ssl.truststore.password'] }}
{% endif %}
{% endif %}
# loggers
log4j.logger.org.reflections=ERROR, main
# Uncomment the following line to stop ksqlDB from logging out each request it receives:
#log4j.logger.io.confluent.ksql.rest.server.resources.KsqlResource=WARN
# And this one to avoid the logs being spammed with KsqlConfig values.
# Though these can be useful for debugging / investigations.
#log4j.logger.io.confluent.ksql.util.KsqlConfig=WARN
## ksqlDB Processing logs:
log4j.logger.processing=WARN, kafka_appender
log4j.additivity.processing=false
## Kafka Streams logs:
log4j.logger.org.apache.kafka.streams=INFO, streams
log4j.additivity.org.apache.kafka.streams=false
## Kafka Clients logs:
log4j.logger.org.apache.kafka.clients=INFO, clients
log4j.additivity.org.apache.kafka.clients=false
## Kafka Connect logs:
log4j.logger.org.apache.kafka.connect=INFO, connect
log4j.additivity.org.apache.kafka.connect=false
## Other Kafka logs:
log4j.logger.kafka=WARN, kafka
log4j.additivity.kafka=false
log4j.logger.org.apache.zookeeper=WARN, kafka
log4j.additivity.org.apache.zookeeper=false
log4j.logger.org.apache.kafka=WARN, kafka
log4j.additivity.org.apache.kafka=false
log4j.logger.org.I0Itec.zkclient=WARN, kafka
log4j.additivity.org.I0Itec.zkclient=false
# To achieve high throughput on pull queries, avoid logging every request from Jetty
log4j.logger.io.confluent.rest-utils.requests=WARN
ksql_migrations_log4j_properties_template
# Root logger -- disable all non-migrations-tool logging
log4j.rootLogger=OFF
# Migrations tool logger
log4j.logger.io.confluent.ksql.tools.migrations=INFO, console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n
Шаблон для пользовательской настройки файла логирования log4j_file_properties.
Значение по умолчанию:
#
# Copyright 2018 Confluent Inc.
#
# Licensed under the Confluent Community License (the "License"); you may not use
# this file except in compliance with the License. You may obtain a copy of the
# License at
#
# http://www.confluent.io/confluent-community-license
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.
#
# For the general syntax of property based configuration files see
# the documentation of org.apache.log4j.PropertyConfigurator.
log4j.rootLogger=WARN, default.file
log4j.appender.default.file=io.confluent.ksql.util.TimestampLogFileAppender
log4j.appender.default.file.ImmediateFlush=true
log4j.appender.default.file.append=false
log4j.appender.default.file.file=${ksql.log.dir}/ksql-cli/cli-%timestamp.log
log4j.appender.default.file.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
Шаблон для пользовательской настройки файла логирования log4j_silent_properties.
Значение по умолчанию:
#
# Copyright 2018 Confluent Inc.
#
# Licensed under the Confluent Community License (the "License"); you may not use
# this file except in compliance with the License. You may obtain a copy of the
# License at
#
# http://www.confluent.io/confluent-community-license
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OF ANY KIND, either express or implied. See the License for the
# specific language governing permissions and limitations under the License.
#
log4j.rootLogger=OFF
MiNiFi
Параметр | Описание | Значение по умолчанию |
---|---|---|
MiNiFi C2 Server port |
HTTP-порт для подключения к MiNiFi C2 Server |
10080 |
nifi.minifi.notifier.ingestors.pull.http.query |
Cтрока запроса для извлечения конфигураций |
minifi |
Параметр | Описание | Значение по умолчанию |
---|---|---|
MINIFI_HOME |
Каталог для установки MiNiFi |
/usr/lib/minifi |
MINIFI_PID_DIR |
Каталог для хранения ID процесса MiNiFi |
/var/run/minifi |
MINIFI_LOG_DIR |
Каталог для хранения логов |
/var/log/minifi |
Параметр | Описание | Значение по умолчанию |
---|---|---|
MiNiFi Agent Heap size |
Heap-размер агента |
256m |
nifi.minifi.notifier.ingestors.pull.http.period.ms |
Период проверки обновлений (в мс) |
300000 |
nifi.minifi.status.reporter.log.query |
Запрос состояния экземпляра MiNiFi:
|
instance:
|
nifi.minifi.status.reporter.log.level |
Уровень журнала, на котором регистрируется статус |
INFO |
nifi.minifi.status.reporter.log.period |
Задержка между запросами (в мс) |
60000 |
nifi.minifi.security.keystore |
Полный путь и имя хранилища keystore |
— |
nifi.minifi.security.keystoreType |
Тип хранилища keystore |
— |
nifi.minifi.security.keystorePasswd |
Пароль хранилища keystore |
— |
nifi.minifi.security.keyPasswd |
Ключевой пароль |
— |
nifi.minifi.security.truststore |
Полный путь и имя хранилища truststore |
— |
nifi.minifi.security.truststoreType |
Тип хранилища truststore |
— |
nifi.minifi.security.truststorePasswd |
Пароль хранилища truststore |
— |
nifi.minifi.security.ssl.протокол |
Протокол безопасности |
— |
nifi.minifi.notifier.ingestors.pull.http.keystore.location |
Полный путь и имя хранилища keystore |
— |
nifi.minifi.notifier.ingestors.pull.http.keystore.type |
Тип хранилища keystore |
— |
nifi.minifi.notifier.ingestors.pull.http.keystore.password |
Пароль хранилища keystore |
— |
nifi.minifi.notifier.ingestors.pull.http.truststore.location |
Полный путь и имя хранилища truststore |
— |
nifi.minifi.notifier.ingestors.pull.http.truststore.type |
Тип хранилища truststore |
— |
nifi.minifi.notifier.ingestors.pull.http.truststore.password |
Пароль хранилища truststore |
— |
Настройка уровней логирования и log rotate для MiNiFi
Параметр | Описание | Значение по умолчанию |
---|---|---|
app_file_max_history |
Максимальное количество файлов для приложений |
10 |
boot_file_max_history |
Максимальное количество файлов для Boot |
5 |
status_file_max_history |
Максимальное количество файлов для статусов |
5 |
root_level |
Уровень события |
INFO |
Настройка структуры файла конфигурации логирования для MiNiFi
Журнал (логгер) | Имена пакетов по умолчанию | Уровень события по умолчанию |
---|---|---|
app_loggers |
org.apache.nifi |
INFO |
org.apache.nifi.processors |
WARN |
|
org.apache.nifi.processors.standard.LogAttribute |
INFO |
|
org.apache.nifi.controller.repository.StandardProcessSession |
WARN |
|
bootstrap_loggers |
org.apache.nifi.bootstrap |
INFO |
org.apache.nifi.bootstrap.Command |
INFO |
|
org.apache.nifi.StdOut |
INFO |
|
org.apache.nifi.StdErr |
ERROR |
|
status_loggers |
org.apache.nifi.minifi.bootstrap.status.reporters.StatusLogger |
INFO |
Шаблон для пользовательской настройки файла MiNiFi Agent logback.xml.
Значение по умолчанию:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Maintained by ADCM
-->
<configuration scan="true" scanPeriod="30 seconds">
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
{% set logback = services.minifi.config['minifi_agent_logback_content'] %}
<appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.minifi.bootstrap.config.log.dir}/minifi-app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--
For daily rollover, use 'app_%d.log'.
For hourly rollover, use 'app_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.minifi.bootstrap.config.log.dir}/minifi-app_%d{yyyy-MM-dd_HH}.%i.log.gz</fileNamePattern>
<!-- Keep 10 rolling periods worth of log files-->
<maxHistory>{{ logback.app_file_max_history }}</maxHistory>
<!-- Max size each log file will be-->
<maxFileSize>1MB</maxFileSize>
<!-- Provide a cap of 10 MB across all archive files -->
<totalSizeCap>10MB</totalSizeCap>
</rollingPolicy>
<immediateFlush>true</immediateFlush>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<appender name="BOOTSTRAP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.minifi.bootstrap.config.log.dir}/minifi-bootstrap.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--
For daily rollover, use 'user_%d.log'.
For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.minifi.bootstrap.config.log.dir}/minifi-bootstrap_%d.log.gz</fileNamePattern>
<!-- Keep 5 rolling periods worth of logs-->
<maxHistory>{{ logback.boot_file_max_history }}</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<appender name="STATUS_LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.minifi.bootstrap.config.log.dir}/minifi-status.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--
For daily rollover, use 'user_%d.log'.
For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.minifi.bootstrap.config.log.dir}/minifi-status_%d.log</fileNamePattern>
<!-- keep 5 log files worth of history -->
<maxHistory>{{ logback.status_file_max_history }}</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<!-- valid logging levels: TRACE, DEBUG, INFO, WARN, ERROR -->
{% for key, value in logback.app_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}"/>
{% endfor -%}
<!-- Logger for managing logging statements for jetty -->
<logger name="org.eclipse.jetty" level="INFO"/>
<!-- Suppress non-error messages due to excessive logging by class or library -->
<logger name="com.sun.jersey.spi.container.servlet.WebComponent" level="ERROR"/>
<logger name="com.sun.jersey.spi.spring" level="ERROR"/>
<logger name="org.springframework" level="ERROR"/>
<!-- Suppress non-error messages due to known warning about redundant path annotation (NIFI-574) -->
<logger name="com.sun.jersey.spi.inject.Errors" level="ERROR"/>
<!--
Logger for capturing Bootstrap logs and MiNiFi's standard error and standard out.
-->
{% for key, value in logback.bootstrap_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}" additivity="false">
<appender-ref ref="BOOTSTRAP_FILE"/>
{% if key == "org.apache.nifi.minifi.bootstrap.Command" %}
<appender-ref ref="CONSOLE" />
{% endif -%}
</logger>
{% endfor -%}
{% for key, value in logback.status_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}" additivity="false">
<appender-ref ref="STATUS_LOG_FILE" />
</logger>
{% endfor -%}
<root level="{{ logback.root_level }}">
<appender-ref ref="APP_FILE"/>
</root>
</configuration>
Шаблон для пользовательской настройки файла MiNiFi Agent state-management.xml.
Значение по умолчанию:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
Maintained by ADCM
-->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
This file provides a mechanism for defining and configuring the State Providers
that should be used for storing state locally and across a NiFi cluster. In order
to use a specific provider, it must be configured here and its identifier
must be specified in the nifi.properties file.
-->
<stateManagement>
<!--
State Provider that stores state locally in a configurable directory. This Provider requires the following properties:
Directory - the directory to store components' state in. If the directory being used is a sub-directory of the NiFi installation, it
is important that the directory be copied over to the new version when upgrading NiFi.
-->
<local-provider>
<id>local-provider</id>
<class>org.apache.nifi.controller.state.providers.local.WriteAheadLocalStateProvider</class>
<property name="Directory">./state/local</property>
</local-provider>
<!--
State Provider that is used to store state in ZooKeeper. This Provider requires the following properties:
Root Node - the root node in ZooKeeper where state should be stored. The default is '/nifi', but it is advisable to change this to a different value if not using
the embedded ZooKeeper server and if multiple NiFi instances may all be using the same ZooKeeper Server.
Connect String - A comma-separated list of host:port pairs to connect to ZooKeeper. For example, myhost.mydomain:2181,host2.mydomain:5555,host3:6666
Session Timeout - Specifies how long this instance of NiFi is allowed to be disconnected from ZooKeeper before creating a new ZooKeeper Session. Default value is "30 seconds"
Access Control - Specifies which Access Controls will be applied to the ZooKeeper ZNodes that are created by this State Provider. This value must be set to one of:
- Open : ZNodes will be open to any ZooKeeper client.
- CreatorOnly : ZNodes will be accessible only by the creator. The creator will have full access to create children, read, write, delete, and administer the ZNodes.
This option is available only if access to ZooKeeper is secured via Kerberos or if a Username and Password are set.
Username - An optional username that can be used to assign Access Controls to ZNodes. ZooKeeper allows users to assign arbitrary usernames and passwords to ZNodes. These usernames
and passwords are not explicitly defined elsewhere but are simply associated with ZNodes, so it is important that all NiFi nodes in a cluster have the same value for the
Username and Password properties.
Password - An optional password that can be used to assign Access Controls to ZNodes. This property must be set if the Username property is set. NOTE: ZooKeeper transmits passwords
in plain text. As a result, a Username and Password should be used only if communicate with a ZooKeeper on a localhost or over encrypted comms (such as configuring SSL
communications with ZooKeeper).
-->
<cluster-provider>
<id>zk-provider</id>
<class>org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class>
<property name="Connect String"></property>
<property name="Root Node">/nifi</property>
<property name="Session Timeout">30 seconds</property>
<property name="Access Control">CreatorOnly</property>
<property name="Username">nifi</property>
<property name="Password">nifi</property>
</cluster-provider>
</stateManagement>
Параметр | Описание | Значение по умолчанию |
---|---|---|
minifi.c2.server.secure |
MiNiFi C2 безопасен |
— |
minifi.c2.server.keystore |
Полный путь и имя хранилища ключей keystore |
— |
minifi.c2.server.keystoreType |
Тип хранилища ключей keystore |
— |
minifi.c2.server.keystorePasswd |
Пароль хранилища ключей keystore |
— |
minifi.c2.server.keyPasswd |
Ключевой пароль |
— |
minifi.c2.server.truststore |
Полный путь и имя хранилища truststore |
— |
minifi.c2.server.truststoreType |
Тип хранилища truststore |
— |
minifi.c2.server.truststorePasswd |
Пароль хранилища truststore |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации MiNiFi C2 Server c2.properties |
— |
Настройка уровней логирования и ротации логов для MiNiFi C2 Server
Параметр | Описание | Значение по умолчанию |
---|---|---|
log_file_max_history |
Максимальное количество файлов для приложений |
5 |
root_level |
Уровень события |
INFO |
Настройка структуры файла конфигурации логирования для MiNiFi C2 Server
Журнал (логгер) | Имена пакетов по умолчанию | Уровень события по умолчанию |
---|---|---|
log_file_loggers |
org.apache.nifi.minifi.c2 |
DEBUG |
Шаблон для пользовательской настройки файла MiNiFi C2 Server authorizations.yaml.
Значение по умолчанию:
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the \"License\"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an \"AS IS\" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Default Action: deny
Paths:
/c2/config:
Default Action: deny
Actions:
- Authorization: CLASS_RASPI_3
Query Parameters:
class: raspi3
Action: allow
- Authorization: ROLE_SUPERUSER
Action: allow
# Default authorization lets anonymous pull any config. Remove below to change that.
- Authorization: ROLE_ANONYMOUS
Action: allow
/c2/config/contentTypes:
Default Action: deny
Actions:
- Authorization: CLASS_RASPI_3
Action: allow
# Default authorization lets anonymous pull any config. Remove below to change that.
- Authorization: ROLE_ANONYMOUS
Action: allow
/c2/config/heartbeat:
Default Action: deny
Actions:
- Authorization: CLASS_RASPI_3
Query Parameters:
class: raspi3
Action: allow
- Authorization: ROLE_SUPERUSER
Action: allow
# Default authorization lets anonymous pull any config. Remove below to change that.
- Authorization: ROLE_ANONYMOUS
Action: allow
/c2/config/acknowledge:
Default Action: deny
Actions:
- Authorization: CLASS_RASPI_3
Query Parameters:
class: raspi3
Action: allow
- Authorization: ROLE_SUPERUSER
Action: allow
# Default authorization lets anonymous pull any config. Remove below to change that.
- Authorization: ROLE_ANONYMOUS
Action: allow
Шаблон для пользовательской настройки файла MiNiFi C2 Server logback.xml.
Значение по умолчанию:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Maintained by ADCM
-->
{% set logback = services.minifi.config['minifi_c2_server_logback_content'] -%}
<configuration scan="true" scanPeriod="30 seconds">
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<appender name="LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/minifi-c2/minifi-c2.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>/var/log/minifi-c2/minifi-c2_%d.log</fileNamePattern>
<!-- keep 5 log files worth of history -->
<maxHistory>{{ logback.log_file_max_history }}</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
{% for key, value in logback.log_file_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}">
<appender-ref ref="LOG_FILE"/>
{% if key == "org.apache.nifi.minifi.c2" %}
<appender-ref ref="CONSOLE" />
{% endif -%}
</logger>
{% endfor -%}
<root level="{{ logback.root_level }}">
<appender-ref ref="LOG_FILE"/>
</root>
</configuration>
Параметр | Описание | Значение по умолчанию |
---|---|---|
Set service checks |
Проверка доступности после установки кластера |
true |
Monitoring
Группа | Параметр | Описание | Значение по умолчанию |
---|---|---|---|
— |
scrape_interval |
Интервал сбора метрик |
1m |
— |
scrape_timeout |
Время ожидания данных |
10s |
— |
Password for grafana connection |
Пароль пользователя Grafana ( |
— |
— |
Prometheus users to login/logout to Prometheus |
Учетные данные пользователей для входа в веб-интерфейс Prometheus |
— |
Service parameters |
config.file |
Путь к конфигурационному файлу сервера Prometheus |
/etc/admprom/prometheus/prometheus.yml |
storage.tsdb.path |
Путь к базе данных сервера Prometheus |
/var/lib/admprom/prometheus |
|
web.console.libraries |
Путь к библиотекам управления консолями |
/usr/share/admprom/prometheus/console_libraries |
|
web.console.templates |
Путь к шаблонам консолей сервера Prometheus |
/usr/share/admprom/prometheus/consoles |
|
web.config.file |
Указывает, какой файл веб-конфигурации следует загрузить. Файл записывается в YAML-формате |
/etc/admprom/prometheus/prometheus-auth.yml |
|
storage.tsdb.retention.time |
Время хранения данных. Поддерживаемые единицы: |
15d |
|
web.listen-address |
Адрес для доступа к веб-интерфейсу Prometheus |
0.0.0.0:11200 |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Grafana administrator’s password |
Пароль администратора Grafana |
— |
Grafana listen port |
Порт доступа к web-интерфейсу Grafana |
11210 |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Listen port |
Порт доступа к системным метрикам хоста ADS в формате Prometheus |
11203 |
Metrics endpoint |
Конечная точка, в которую Node exporter экспортирует системные метрики в формате Prometheus |
/metrics |
[Deprecated] Monitoring Clients
Параметр | Описание | Значение по умолчанию |
---|---|---|
Protocol |
Протокол, используемый для отправки метрик в кластер мониторинга. Возможные значения: |
TCP |
NiFi
Параметр | Описание | Значение по умолчанию |
---|---|---|
Nifi config encryption password |
Пароль, из которого можно получить ключ для шифрования конфиденциальных свойств. Должен быть длиной не менее 12 символов |
— |
NiFi Ranger plugin enabled |
Указывает, включен ли Плагин Ranger NiFi (заполняется автоматически) |
false |
Nifi-Registry Flow Provider |
Провайдер Nifi-Registry Flow |
FileSystemFlowPersistenceProvider |
Nifi-Registry Bundle Provider |
Провайдер Nifi-Registry Bundle |
FileSystemBundlePersistenceProvider |
Set service checks |
Проверка доступности после установки кластера |
true |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Nifi UI port |
HTTP-порт, на котором поднимается веб-интерфейс сервиса NiFi, указывается в качестве параметра |
9090 |
Nifi server Heap size |
Размер heap, выделенный процессу сервиса NiFi, указывается в конфигурационном файле bootstrap.conf |
1024m |
Nifi Registry UI port |
HTTP-порт реестра Nifi, указывается в качестве параметра |
18080 |
Nifi Registry Heap size |
Размер heap, выделенный реестру Nifi, указывается в конфигурационном файле bootstrap.conf |
512m |
nifi.queue.backpressure.count |
Значение по умолчанию для количества файлов FlowFile (базовый объект обработки NiFi), которые могут находиться в очереди до того, как будет применено backpressure, то есть прекращение отправки данных источником. Значение должно быть целым числом (integer) |
10000 |
nifi.queue.backpressure.size |
Значение по умолчанию для максимального объема данных, которые должны быть поставлены в очередь перед применением backpressure. Значение должно быть размером данных, включая единицу измерения |
1 GB |
java.arg.snappy |
Аргумент для библиотеки snappy (файловая система tempdir должна быть установлена с флагом |
-Dorg.xerial.snappy.tempdir=/var/tmp |
Параметры расположения репозиториев сервиса NiFi
Параметр | Описание | Значение по умолчанию |
---|---|---|
nifi.flowfile.repository.directory |
Расположение репозитория FlowFile |
/usr/lib/nifi-server/flowfile_repository |
nifi.content.repository.directory |
Расположение репозитория Content |
/usr/lib/nifi-server/content_repository |
nifi.provenance.repository.directory |
Расположение репозитория Provenance |
/usr/lib/nifi-server/provenance_repository |
nifi.database.directory |
Расположение директории H2 database |
/usr/lib/nifi-server/database_repository |
nifi.nar.library.directory.lib |
Параметр следует использовать в случае добавления custom nars |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
xasecure.audit.destination.solr.batch.filespool.dir |
Каталог для Solr audit spool |
/srv/ranger/nifi_plugin/audit_solr_spool |
xasecure.audit.destination.solr.urls |
Указывает URL-адрес Solr. Не устанавливается при использовании ZooKeeper для подключения к Solr |
— |
xasecure.audit.destination.solr.zookeepers |
Включает аудит в Solr для плагинов Ranger |
— |
xasecure.audit.destination.solr.force.use.inmemory.jaas.config |
Подключение Zookeeper к Solr с использованием конфигурации в JAAS-файле |
— |
xasecure.audit.jaas.Client.loginModuleControlFlag |
Указывает, является ли успех модуля обязательным, необходимым, достаточным или необязательным |
— |
xasecure.audit.jaas.Client.loginModuleName |
Имя класса используемой технологии аутентификации |
— |
xasecure.audit.jaas.Client.option.keyTab |
Имя файла keytab для получения секретного ключа принципала |
— |
xasecure.audit.jaas.Client.option.serviceName |
Имя сервиса |
— |
xasecure.audit.jaas.Client.option.storeKey |
Включите, если хотите, чтобы keytab или ключ субъекта сохранялись в личных учетных данных субъекта |
— |
xasecure.audit.jaas.Client.option.useKeyTab |
Включите, если хотите, чтобы модуль получал ключ принципала из таблицы ключей keystore |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-nifi-audit.xml |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
ranger.plugin.nifi.policy.rest.url |
Путь (адрес, порт) для подключения к Ranger Admin NiFi |
— |
ranger.plugin.nifi.service.name |
Имя сервиса Ranger, содержащего политику для конкретного экземпляра NiFi |
— |
ranger.plugin.nifi.policy.source.impl |
Класс для получения политик из источника |
org.apache.ranger.admin.client.RangerAdminRESTClient |
ranger.plugin.nifi.policy.cache.dir |
Каталог, в котором кешируется политика Ranger после успешного извлечения из источника |
/srv/ranger/nifi/policycache |
ranger.plugin.nifi.policy.pollIntervalMs |
Как часто проводить опрос на предмет изменений в политике (в мс) |
30000 |
ranger.plugin.nifi.policy.rest.client.connection.timeoutMs |
Тайм-аут соединения плагина NiFi RangerRestClient (в мс) |
120000 |
ranger.plugin.nifi.policy.rest.client.read.timeoutMs |
Тайм-аут чтения плагина NiFi RangerRestClient (в мс) |
30000 |
ranger.plugin.nifi.policy.rest.ssl.config.file |
Путь к файлу, содержащему данные SSL для связи с Ranger Admin |
/etc/nifi/conf/ranger-nifi-policymgr-ssl.xml |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-nifi-security.xml |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
xasecure.policymgr.clientssl.keystore |
Расположение файла хранилища ключей keystore |
— |
xasecure.policymgr.clientssl.keystore.password |
Пароль хранилища ключей keystore |
— |
xasecure.policymgr.clientssl.truststore |
Расположение файла хранилища сертификатов truststore |
— |
xasecure.policymgr.clientssl.truststore.password |
Пароль хранилища truststore |
— |
xasecure.policymgr.clientssl.keystore.credential.file |
Расположение файла учетных записей keystore |
/etc/nifi/conf/keystore.jceks |
xasecure.policymgr.clientssl.truststore.credential.file |
Расположение файла учетных записей truststore |
/etc/nifi/conf/truststore.jceks |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-nifi-policymgr-ssl.xml |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
xasecure.audit.destination.solr.batch.filespool.dir |
Каталог для Solr audit spool |
/srv/ranger/nifi_registry_plugin/audit_solr_spool |
xasecure.audit.destination.solr.urls |
Определяет Solr URL. Не устанавливается при использовании ZooKeeper для подключения к Solr |
— |
xasecure.audit.destination.solr.zookeepers |
Включает аудит в Solr для плагинов Ranger |
— |
xasecure.audit.destination.solr.force.use.inmemory.jaas.config |
Подключение ZooKeeper к Solr с использованием конфигурации в JAAS-файле |
— |
xasecure.audit.jaas.Client.loginModuleControlFlag |
Указывает, является ли успех модуля обязательным, необходимым, достаточным или необязательным |
— |
xasecure.audit.jaas.Client.loginModuleName |
Имя класса используемой технологии аутентификации |
— |
xasecure.audit.jaas.Client.option.keyTab |
Имя файла keytab для получения секретного ключа принципала |
— |
xasecure.audit.jaas.Client.option.serviceName |
Имя сервиса |
— |
xasecure.audit.jaas.Client.option.storeKey |
Установите для этого параметра значение |
— |
xasecure.audit.jaas.Client.option.useKeyTab |
Установите для этого параметра значение |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-nifi-registry-audit.xml |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
ranger.plugin.nifi-registry.policy.rest.url |
Путь к переменной NiFi-registry для службы Ranger |
— |
ranger.plugin.nifi-registry.service.name |
Имя службы Ranger, содержащей политики для этого экземпляра реестра NiFi-registry |
— |
ranger.plugin.nifi-registry.policy.source.impl |
Класс для получения политик из источника |
org.apache.ranger.admin.client.RangerAdminRESTClient |
ranger.plugin.nifi-registry.policy.cache.dir |
Каталог, в котором кешируются политики Ranger после успешного извлечения из источника |
/srv/ranger/nifi-registry/policycache |
ranger.plugin.nifi-registry.policy.pollIntervalMs |
Как часто опрашивать изменения политик (в мс) |
30000 |
ranger.plugin.nifi-registry.policy.rest.client.connection.timeoutMs |
Время ожидания соединения RangerRestClient (в мс) |
120000 |
ranger.plugin.nifi-registry.policy.rest.client.read.timeoutMs |
Таймаут чтения RangerRestClient (в мс) |
30000 |
ranger.plugin.nifi-registry.policy.rest.ssl.config.file |
Путь к файлу, содержащему данные SSL для связи с Ranger Admin |
/etc/nifi-registry/conf/ranger-policymgr-ssl.xml |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-nifi-registry-security.xml |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
xasecure.policymgr.clientssl.keystore |
Расположение файла хранилища ключей keystore |
— |
xasecure.policymgr.clientssl.keystore.password |
Пароль хранилища ключей keystore |
— |
xasecure.policymgr.clientssl.truststore |
Расположение файла хранилища сертификатов truststore |
— |
xasecure.policymgr.clientssl.truststore.password |
Пароль хранилища truststore |
— |
xasecure.policymgr.clientssl.keystore.credential.file |
Расположение файла учетных записей keystore |
/etc/nifi-registry/conf/keystore.jceks |
xasecure.policymgr.clientssl.truststore.credential.file |
Расположение файла учетных записей truststore |
/etc/nifi-registry/conf/truststore.jceks |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации ranger-nifi-registry-policymgr-ssl.xml |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
DN NiFi’s nodes list |
Список идентификаторов пользователей и систем для заполнения пользовательского файла. Это обязательные поля для включения SSL в первый раз.
Должен включать в себя не только DName компонента NiFi Server, но и DName NiFi Registry, а также DName для компонентов сервиса MiNiFi. Например, для кластера с включенным SSL, состоящего только из NiFi Server, при добавлении сервиса MiNiFi или расширения Schema Registry необходимо дополнить этот список новыми DName
. Пример для узлов — |
— |
NiFi Initial Admin |
Идентификатор первичного пользователя-администратора, которому будет предоставлен доступ к пользовательскому интерфейсу и возможность создавать дополнительных пользователей, группы и политики. Значением этого свойства может быть:
|
— |
NiFi Initial Admin password |
Начальный пароль администратора — пароль пользователя, назначенного NiFi Initial Admin |
— |
Ranger Admin Identitity |
DN сертификата, который Ranger будет использовать для связи с Nifi. Требуется сгенерированное хранилище ключей keystore SSL и хранилище truststore на хосте Ranger. Применимо только для плагина NiFi Ranger |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Authentication Strategy |
Как аутентифицируется подключение к серверу LDAP |
ANONYMOUS |
Manager DN |
DN пользователя, имеющего запись в каталоге Active Directory с правами поиска пользователей и групп. Будет использован для привязки к серверу LDAP для поиска пользователей |
— |
Manager Password |
Пароль менеджера, который используется для привязки к серверу LDAP для поиска пользователей |
— |
TLS - Keystore |
Путь к хранилищу ключей keystore, который используется при подключении к LDAP с помощью LDAPS или START_TLS |
— |
TLS - Keystore Password |
Пароль для хранилища ключей keystore, который используется при подключении к LDAP с помощью LDAPS или START_TLS |
— |
TLS - Keystore Type |
Тип хранилища ключей keystore, которое используется при подключении к LDAP с помощью LDAPS или START_TLS (например, JKS или PKCS12) |
— |
TLS - Truststore |
Путь к хранилищу truststore, которое используется при подключении к LDAP с помощью LDAPS или START_TLS |
— |
TLS - Truststore Password |
Пароль для truststore, который используется при подключении к LDAP с помощью LDAPS или START_TLS |
— |
TLS - Truststore Type |
Тип хранилища truststore, который используется при подключении к LDAP с помощью LDAPS или START_TLS (например, JKS или PKCS12) |
— |
TLS - Client Auth |
Политика аутентификации клиента при подключении к LDAP с помощью LDAPS или START_TLS. Возможные значения: |
NONE |
TLS - Protocol |
Протокол для использования при подключении к LDAP с помощью LDAPS или START_TLS (например, TLS, TLSv1.1, TLSv1.2 и т. д.) |
— |
TLS - Shutdown Gracefully |
Указывает, должен ли TLS корректно завершать работу перед закрытием целевого контекста |
False |
Referral Strategy |
Стратегия работы с referrals |
FOLLOW |
Connect Timeout |
Продолжительность тайм-аута подключения |
10 sec |
Read Timeout |
Продолжительность тайм-аута чтения |
10 sec |
LDAP URL |
Разделенный пробелами список URL-адресов серверов LDAP (например, |
— |
User Search Base |
Базовое DN для поиска пользователей (например, |
— |
User Search Filter |
Фильтр для поиска пользователей по базе поиска (например, |
— |
Identity Strategy |
Стратегия идентификации пользователей. Возможные значения: |
USE_DN |
Authentication Expiration |
Продолжительность действия аутентификации пользователя. Если пользователь никогда не выходит из системы, ему потребуется снова войти в систему по истечении этого времени |
12 hours |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Authentication Strategy |
Как аутентифицируется подключение к серверу LDAP |
ANONYMOUS |
Manager DN |
DN пользователя, имеющего запись в каталоге Active Directory, обладающий правами поиска пользователей и групп. Будет использован для привязки к серверу LDAP для поиска пользователей |
— |
Manager Password |
Пароль менеджера, который используется для привязки к серверу LDAP для поиска пользователей |
— |
TLS - Keystore |
Путь к хранилищу ключей, который используется при подключении к LDAP с помощью LDAPS или START_TLS |
— |
TLS - Keystore Password |
Пароль для хранилища ключей keystore, который используется при подключении к LDAP с помощью LDAPS или START_TLS |
— |
TLS - Keystore Type |
Тип хранилища ключей keystore, которое используется при подключении к LDAP с помощью LDAPS или START_TLS (например, JKS или PKCS12) |
— |
TLS - Truststore |
Путь к хранилищу truststore, которое используется при подключении к LDAP с помощью LDAPS или START_TLS |
— |
TLS - Truststore Password |
Пароль для truststore, который используется при подключении к LDAP с помощью LDAPS или START_TLS |
— |
TLS - Truststore Type |
Тип хранилища truststore, который используется при подключении к LDAP с помощью LDAPS или START_TLS (например, JKS или PKCS12) |
— |
TLS - Client Auth |
Политика аутентификации клиента при подключении к LDAP с помощью LDAPS или START_TLS. Возможные значения: |
NONE |
TLS - Protocol |
Протокол для использования при подключении к LDAP с помощью LDAPS или START_TLS (например, TLS, TLSv1.1, TLSv1.2 и т. д.) |
— |
TLS - Shutdown Gracefully |
Указывает, должен ли TLS корректно завершать работу перед закрытием целевого контекста |
— |
Referral Strategy |
Стратегия работы с referrals |
FOLLOW |
Connect Timeout |
Продолжительность тайм-аута подключения |
10 sec |
Read Timeout |
Продолжительность тайм-аута чтения |
10 sec |
LDAP URL |
Разделенный пробелами список URL-адресов серверов LDAP (например, |
— |
Page Size |
Устанавливает размер страницы при получении пользователей и групп. Если не указано, пейджинг не выполняется |
— |
Sync Interval |
Продолжительность времени между синхронизацией пользователей и групп. Минимально допустимое значение – |
30 mins |
User Search Base |
Базовое DN для поиска пользователей (например, |
— |
User Object Class |
Класс объекта для идентификации пользователей (например, |
— |
User Search Scope |
Область для поиска пользователей |
ONE_LEVEL |
User Search Filter |
Фильтр для поиска пользователей по базе поиска (например, |
— |
User Identity Attribute |
Атрибут для извлечения идентификатора пользователя (например, |
— |
User Group Name Attribute |
Атрибут, используемый для определения членства в группе (например, |
— |
User Group Name Attribute - Referenced Group Attribute |
Если параметр не установлен, значение атрибута в |
— |
Group Search Base |
Базовое DN для поиска групп (например, |
— |
Group Object Class |
Класс объекта для идентификации групп (например, |
— |
Group Search Scope |
Область для поиска группы пользователей |
ONE_LEVEL |
Group Search Filter |
Фильтр для поиска групп по базе поиска. Опционально |
— |
Group Name Attribute |
Атрибут для извлечения имени группы (например, |
— |
Group Member Attribute |
Атрибут, используемый для определения членства в группе (например, |
— |
Group Member Attribute - Referenced User Attribute |
Если параметр установлен, значение атрибута в |
— |
nifi.security.group.mapping.value.anygroup |
Значение замены для сопоставления DN имен групп пользователей NiFi Server шаблону |
$1 |
nifi.security.group.mapping.pattern.anygroup |
Шаблон для сопоставления DN имен групп пользователей NiFi Server |
(?i)cn=([,]+),.* |
nifi.security.group.mapping.transform.anygroup |
Преобразование, применяемое для DN имен групп пользователей NiFi Server |
LOWER |
nifi.registry.security.group.mapping.value.anygroup |
Значение замены для сопоставления DN имен групп пользователей NiFi Registry шаблону |
$1 |
nifi.registry.security.group.mapping.pattern.anygroup |
Шаблон для сопоставления DN имен групп пользователей NiFi Registry |
(?i)cn=([,]+),.* |
nifi.registry.security.group.mapping.transform.anygroup |
Преобразование, применяемое для DN имен групп пользователей NiFi Registry |
LOWER |
Конфигурации платформы аналитики
Параметр | Описание | Значение по умолчанию |
---|---|---|
nifi.analytics.predict.interval |
Интервал времени, в который должны быть сделаны аналитические прогнозы (например, насыщение очереди) |
3 min |
nifi.analytics.query.interval |
Интервал времени для запроса прошлых наблюдений (например, последние 3 минуты снапшотов). Значение должно быть как минимум в 3 раза больше, чем заданный |
5 min |
nifi.analytics.connection.model.implementation |
Класс реализации для модели анализа состояния, используемой для прогнозирований соединения |
Ordinary Least Squares |
nifi.analytics.connection.model.score.name |
Имя типа скоринга, которое следует использовать для оценки модели |
rSquared |
nifi.analytics.connection.model.score.threshold |
Порог для значения скоринга (модель score должна быть выше заданного порога) |
.90 |
Параметры, определяющие место для установки сервиса NiFi
Параметр | Описание | Значение по умолчанию |
---|---|---|
NIFI_HOME |
Каталог для установки NiFi |
/usr/lib/nifi-server |
NIFI_PID_DIR |
Каталог для хранения ID процесса NiFi |
/var/run/nifi |
NIFI_LOG_DIR |
Каталог для хранения логов |
/var/log/nifi |
NIFI_ALLOW_EXPLICIT_KEYTAB |
Предотвращение использования неактуальных свойств keytab произвольной формы, которые были оставлены для обратной совместимости |
true |
Позволяет пользователям устанавливать параметры запуска NiFi в файле bootstrap.conf при помощи поля Add key, value.
Параметр | Описание | Значение по умолчанию |
---|---|---|
nifi.flow.configuration.file |
Расположение файла конфигурации потока (содержащего то, что в текущий момент отображается на графике NiFi) |
/etc/nifi/conf/flow.xml.gz |
nifi.flow.configuration.json.file |
Директория хранения файла flow.json.gz, содержащего весь поток для данного экземпляра NiFi. Используется для восстановления или миграции потока |
/etc/nifi/conf/flow.json.gz |
nifi.flow.configuration.archive.enabled |
Включает автоматическое создание NiFi резервной копии потока при обновлении потока |
true |
nifi.cluster.node.connection.timeout |
Время ожидания при подключении к другому узлу в кластере для принятия решения о неудачном соединении |
5 sec |
nifi.cluster.node.read.timeout |
Время ожидания получения информации при связи с другим узлом в кластере для принятия решения об обрыве связи |
5 sec |
nifi.zookeeper.connect.timeout |
Время ожидания при подключении к ZooKeeper для принятия решения о неудачном подключении |
3 secs |
nifi.zookeeper.session.timeout |
Время ожидания после потери соединения с ZooKeeper до истечения сессии |
3 secs |
nifi.variable.registry.properties |
Путь расположения файлов для одного или нескольких файлов индивидуальных свойств. Для нескольких файлов пути разделяются запятыми |
/etc/nifi/conf/extra-args.properties |
nifi.remote.input.http.enabled |
Указывает, следует ли включить HTTP Site-to-Site на этом узле |
true |
nifi.remote.input.http.transaction.ttl |
Указывает, как долго транзакция может оставаться на сервере |
30 sec |
nifi.remote.contents.cache.expiration |
Указывает, как долго NiFi должен кешировать информацию об удаленном экземпляре NiFi при обмене данными через Site-to-Site |
30 secs |
nifi.flow.configuration.archive.max.time |
Срок жизни заархивированных файлов flow.xml |
30 days |
nifi.flow.configuration.archive.max.storage |
Общий размер данных, допустимый для заархивированных файлов flow.xml |
500 MB |
nifi.flow.configuration.archive.max.count |
Разрешенное количество архивных файлов |
— |
nifi.flowcontroller.autoResumeState |
Указывает, должны ли после перезапуска компоненты на графике NiFi возвращаться в свое последнее состояние |
true |
nifi.flowcontroller.graceful.shutdown.period |
Указывает период отключения |
10 sec |
nifi.flowservice.writedelay.interval |
Если в файл flow.xml внесено много изменений, свойство указывает время ожидания перед записью изменений, чтобы объединить изменения в одну запись |
500 ms |
nifi.administrative.yield.duration |
Если компонент допускает появление неожиданного исключения, это считается ошибкой. В результате фреймворк произведет остановку (или уступит права) для компонента на это время |
30 sec |
nifi.bored.yield.duration |
Количество времени, которое компонент будет ждать перед проверкой, есть ли у него новые данные для работы |
10 millis |
nifi.ui.banner.text |
Текст баннера, который можно настроить для отображения в верхней части пользовательского интерфейса |
— |
nifi.ui.autorefresh.interval |
Интервал автоматического обновления пользовательского интерфейса |
30 sec |
nifi.state.management.provider.local |
Идентификатор локального поставщика состояний для использования |
local-provider |
nifi.state.management.provider.cluster |
Идентификатор используемого поставщика состояния кластера |
zk-provider |
nifi.state.management.embedded.zookeeper.start |
Указывает, должен ли этот экземпляр NiFi запускать встроенный сервер ZooKeeper |
false |
nifi.h2.url.append |
Свойство указывает дополнительные аргументы для добавления в строку подключения к базе данных H2 |
;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE |
nifi.flowfile.repository.implementation |
Реализация репозитория FlowFile. Чтобы хранить потоковые файлы в памяти, а не на диске (с учетом потери данных в случае сбоя питания/машины или перезапуска NiFi), установите для этого свойства значение |
org.apache.nifi.controller.repository.WriteAheadFlowFileRepository |
nifi.flowfile.repository.wal.implementation |
Если реализация репозитория настроена на использование WriteAheadFlowFileRepository, свойство можно использовать, чтобы указать, какую реализацию Write-Ahead Log следует использовать |
org.apache.nifi.wali.SequentialAccessWriteAheadLog |
nifi.flowfile.repository.partitions |
Количество партиций |
256 |
nifi.flowfile.repository.checkpoint.interval |
Интервал контрольной точки репозитория FlowFile |
2 mins |
nifi.flowfile.repository.always.sync |
Если установлено значение |
false |
nifi.swap.manager.implementation |
Реализация Swap Manager |
org.apache.nifi.controller.FileSystemSwapManager |
nifi.queue.swap.threshold |
Порог очереди, при котором NiFi начинает swap информации FlowFile на диск |
20000 |
nifi.swap.in.period |
Swap in период |
5 sec |
nifi.swap.in.threads |
Количество потоков, используемых для подкачки |
1 |
nifi.swap.out.period |
Swap out период |
5 sec |
nifi.swap.out.threads |
Количество потоков, используемых для swapping out |
4 |
nifi.content.repository.implementation |
Реализация Content Repository. Значение по умолчанию следует изменять с осторожностью. Чтобы содержимое потокового файла сохранялось в памяти, а не на диске (с риском потери данных в случае сбоя питания/машины), установите для этого свойства значение |
org.apache.nifi.controller.repository.FileSystemRepository |
nifi.content.claim.max.appendable.size |
Максимальный размер батча данных для сохранения на диск (content claim) |
1 MB |
nifi.content.claim.max.flow.files |
Максимальное количество FlowFiles для назначения одному батчу для сохранения на диск (content claim) |
100 |
nifi.content.repository.archive.max.retention.period |
Если архивирование включено, свойство указывает максимальное время хранения архивных данных |
12 hours |
nifi.content.repository.archive.max.usage.percentage |
Если архивирование включено, свойство должно иметь значение, указывающее процент использования диска репозитория содержимого, при котором архивные данные начинают удаляться. Если архив пуст, а использование диска репозитория содержимого превышает этот процент, то архивирование временно отключается. Архивирование возобновится, когда использование диска станет ниже этого процента |
50% |
nifi.content.repository.archive.enabled |
Чтобы включить архивирование содержимого, установите для этого параметра значение |
true |
nifi.content.repository.always.sync |
Если установлено значение |
false |
nifi.content.viewer.url |
URL-адрес веб-программы просмотра контента, если она доступна |
../nifi-content-viewer/ |
nifi.provenance.repository.implementation |
Реализация Provenance Repository |
org.apache.nifi.provenance.WriteAheadProvenanceRepository |
nifi.provenance.repository.debug.frequency |
Контролирует количество событий, обрабатываемых между операторами |
1000000 |
nifi.provenance.repository.encryption.key.provider.implementation |
Полное имя класса поставщика ключей (key provider) |
— |
nifi.provenance.repository.encryption.key.provider.location |
Путь к ресурсу определения ключа |
— |
nifi.provenance.repository.encryption.key.id |
Идентификатор активного ключа для шифрования (например, |
— |
nifi.provenance.repository.encryption.key |
Ключ для StaticKeyProvider |
— |
nifi.provenance.repository.max.storage.time |
Максимальное время хранения информации о происхождении данных |
24 hours |
nifi.provenance.repository.max.storage.size |
Максимальный объем информации о происхождении данных, который можно хранить одновременно |
1 GB |
nifi.provenance.repository.rollover.time |
Время ожидания перед обновлением последней информации о происхождении данных, чтобы она была доступна в пользовательском интерфейсе |
30 secs |
nifi.provenance.repository.rollover.size |
Количество информации, которое нужно просматривать за раз |
100 MB |
nifi.provenance.repository.query.threads |
Количество потоков, используемых для запросов к репозиторию Provenance |
2 |
nifi.provenance.repository.index.threads |
Количество потоков, используемых для индексации событий Provenance, чтобы их можно было найти |
2 |
nifi.provenance.repository.compress.on.rollover |
Указывает, следует ли сжимать данные provenance при переносе |
true |
nifi.provenance.repository.always.sync |
Если установлено значение |
false |
nifi.provenance.repository.indexed.fields |
Разделенный запятыми список полей, которые следует проиндексировать и сделать доступными для поиска |
EventType, FlowFileUUID, Filename, ProcessorID, Relationship |
nifi.provenance.repository.indexed.attributes |
Разделенный запятыми список атрибутов FlowFile, которые должны быть проиндексированы и доступны для поиска |
— |
nifi.provenance.repository.index.shard.size |
Большие значения размера сегмента приведут к большему использованию java heap при поиске в репозитории Provenance, но должны обеспечить более высокую производительность |
500 MB |
nifi.provenance.repository.max.attribute.length |
Указывает максимальную длину для атрибута FlowFile при извлечении Provenance Event из репозитория. Если длина любого атрибута превышает значение, оно будет усечено при извлечении события |
65536 |
nifi.provenance.repository.concurrent.merge.threads |
Свойство указывает максимальное количество потоков, которые разрешено использовать для каждого из каталогов хранения |
2 |
nifi.provenance.repository.buffer.size |
Размер буфера репозитория Provenance |
100000 |
nifi.components.status.repository.implementation |
Реализация репозитория состояния компонентов (Component Status Repository) |
org.apache.nifi.controller.status.history.VolatileComponentStatusRepository |
nifi.components.status.repository.buffer.size |
Указывает размер буфера для репозитория состояния компонентов (Component Status Repository) |
1440 |
nifi.components.status.snapshot.frequency |
Указывает, как часто предоставлять моментальный снимок истории состояния компонентов |
1 min |
nifi.web.war.directory |
Расположение каталога web.war |
./lib |
nifi.web.jetty.working.directory |
Расположение рабочего каталога Jetty |
./work/jetty |
nifi.web.jetty.threads |
Количество потоков Jetty |
200 |
nifi.web.max.header.size |
Максимально допустимый размер заголовков запроса и ответа |
16 KB |
nifi.web.proxy.context.path |
Список разделенных запятыми допустимых значений заголовка HTTP X-ProxyContextPath или X-Forwarded-Context. По умолчанию значение пусто, что означает, что все запросы, содержащие путь контекста прокси, отклоняются |
— |
nifi.web.proxy.host |
Список разделенных запятыми разрешенных значений заголовка HTTP-хоста, которые следует учитывать, когда NiFi работает безопасно и будет получать запросы на другой хост [: порт], к которому он привязан. Например, при работе в контейнере Docker или за прокси-сервером (например, |
— |
nifi.sensitive.props.key |
Пароль (исходная строка), из которого извлекается ключ шифрования для алгоритма, указанного в параметре |
mysensetivekey |
nifi.sensitive.props.key.protected |
Защищенный пароль (исходная строка), используемая для получения ключа шифрованиядля алгоритма, указанного в параметре |
— |
nifi.sensitive.props.algorithm |
Алгоритм, используемый для шифрования конфиденциальных свойств |
PBEWITHMD5AND256BITAES-CBC-OPENSSL |
nifi.sensitive.props.provider |
Поставщик конфиденциальной свойств |
BC |
nifi.sensitive.props.additional.keys |
Список свойств, разделенных запятыми, для шифрования в дополнение к конфиденциальным свойствам по умолчанию |
— |
nifi.security.user.authorizer |
Указывает, какой из настроенных авторизаторов в файле authorizers.xml следует использовать. По умолчанию установлен файловый провайдер |
managed-authorizer |
nifi.security.ocsp.responder.url |
URL responder Online Certificate Status Protocol (OCSP), если он используется |
— |
nifi.security.ocsp.responder.certificate |
Расположение responder certificate OCSP, если он используется |
— |
nifi.security.user.oidc.discovery.url |
URL-адрес обнаружения для нужного провайдера OpenId Connect |
— |
nifi.security.user.oidc.connect.timeout |
Время ожидания подключения при обмене данными с провайдером OpenId Connect |
5 secs |
nifi.security.user.oidc.read.timeout |
Тайм-аут чтения при обмене данными с провайдером OpenId Connect |
5 secs |
nifi.security.user.oidc.client.id |
Идентификатор клиента для NiFi после регистрации в провайдере OpenId Connect |
— |
nifi.security.user.oidc.client.secret |
Секрет клиента для NiFi после регистрации в провайдере OpenId Connect |
— |
nifi.security.user.oidc.preferred.jwsалгоритм |
Предпочитаемый алгоритм проверки токенов идентификации. Если значение пустое, по умолчанию используется RS256, который должен поддерживаться провайдером OpenId Connect в соответствии со спецификацией. Если Значение равно HS256, HS384 или HS512, NiFi попытается проверить токены, защищенные HMAC, используя указанный секрет клиента. Если Значение равно нулю, NiFi попытается проверить незащищенные/обычные токены. Другие значения для этого алгоритма будут пытаться проанализировать как алгоритм RSA или EC для использования в сочетании с веб-ключом JSON (JWK), предоставленным через jwks_uri в метаданных, найденных по URL-адресу обнаружения |
— |
nifi.security.user.knox.url |
URL-адрес страницы входа в Apache Knox |
— |
nifi.security.user.knox.publicKey |
Путь к открытому ключу Apache Knox, который будет использоваться для проверки подписей маркеров аутентификации в файле cookie HTTP |
— |
nifi.security.user.knox.cookieName |
Имя файла cookie HTTP, который Apache Knox сгенерирует после успешного входа в систему |
hadoop-jwt |
nifi.security.user.knox.audiences |
Необязательно. Через запятую перечислены разрешенные audiences. Если установлено, audiences в токене должна присутствовать в этом списке. Audiences, указанная в токене, может быть настроена в Knox |
— |
nifi.cluster.protocol.heartbeat.interval |
Интервал, с которым узлы должны посылать heartbeats координатору кластера |
5 sec |
nifi.cluster.node.protocol.port |
Порт протокола узла |
11433 |
nifi.cluster.node.protocol.threads |
Количество потоков, которые следует использовать для связи с другими узлами в кластере |
10 |
nifi.cluster.node.protocol.max.threads |
Максимальное количество потоков, которые следует использовать для связи с другими узлами в кластере |
50 |
nifi.cluster.node.event.history.size |
При изменении состояния узла в кластере генерируется событие, которое можно просмотреть на странице Cluster. Значение указывает, сколько событий нужно хранить в памяти для каждого узла |
25 |
nifi.cluster.node.max.concurrent.requests |
Максимальное количество необработанных веб-запросов, которые можно реплицировать на узлы в кластере. Если это количество запросов превышено, встроенный сервер Jetty вернет ответ "409: Conflict" |
100 |
nifi.cluster.firewall.file |
Расположение файла брандмауэра узла. Это файл, который можно использовать для перечисления всех узлов, которым разрешено подключаться к кластеру. Он обеспечивает дополнительный уровень безопасности. По умолчанию значение пусто, что означает, что файл брандмауэра не используется |
— |
nifi.cluster.flow.election.max.wait.time |
Указывает время ожидания перед выбором Flow в качестве "правильного" потока. Если количество проголосовавших узлов равно количеству, указанному в свойстве |
5 mins |
nifi.cluster.load.balance.host |
Указывает имя хоста для прослушивания входящих подключений для данных балансировки нагрузки в кластере. Если не указано, по умолчанию будет использоваться значение, указанное в свойстве |
— |
nifi.cluster.load.balance.port |
Указывает порт для прослушивания входящих подключений для данных балансировки нагрузки в кластере |
6342 |
nifi.cluster.load.balance.connections.per.node |
Максимальное количество соединений, которые можно создать между этим узлом и каждым другим узлом в кластере. Например, если в кластере 5 узлов и для этого значения установлено значение 4, для балансировки нагрузки будет установлено до 20 соединений сокетов (5 x 4 = 20) |
4 |
nifi.cluster.load.balance.max.thread.count |
Максимальное количество потоков, используемых для передачи данных с этого узла на другие узлы в кластере. В то время как данный поток может записывать только в один сокет за раз, один поток способен обслуживать несколько соединений одновременно, поскольку данное соединение может быть недоступно для чтения/записи в любой момент времени |
8 |
nifi.cluster.load.balance.comms.timeout |
При обмене данными с другим узлом, если в течение этого времени не происходит никакого прогресса при чтении или записи в сокет, будет выдано исключение TimeoutException. Это приведет к повторной попытке передачи данных или их отправке на другой узел в кластере, в зависимости от настроенной стратегии балансировки нагрузки |
30 sec |
nifi.remote.input.socket.port |
Порт удаленного входного сокета для связи Site-to-Site |
10443 |
nifi.remote.input.secure |
Указывает, должна ли связь между этим экземпляром NiFi и удаленными экземплярами NiFi быть безопасной |
false |
nifi.security.keystore |
Полный путь и имя хранилища keystore |
— |
nifi.security.keystoreType |
Тип хранилища keystore |
— |
nifi.security.keystoreПароль |
Пароль хранилища keystore |
— |
nifi.security.keyPasswd |
Ключевой пароль |
— |
nifi.security.truststore |
Полный путь и имя хранилища truststore |
— |
nifi.security.truststoreType |
Тип хранилища truststore |
— |
nifi.security.truststorePasswd |
Пароль хранилища truststore |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации nifi.properties |
— |
Файл для указания дополнительных аргументов (extra-args) при помощи поля Add property.
Настройка уровней логирования и log rotate для NiFi-Server
Параметр | Описание | Значение по умолчанию |
---|---|---|
app_file_max_history |
Максимальное количество файлов для приложений |
10 |
user_file_max_history |
Максимальное количество файлов пользователя |
10 |
boot_file_max_history |
Максимальное количество файлов для Boot |
5 |
root_level |
Уровень события |
INFO |
Настройка структуры файла конфигурации логирования для NiFi-Server
Журнал (логгер) | Имена пакетов по умолчанию | Уровень события по умолчанию |
---|---|---|
app_loggers |
org.apache.nifi |
INFO |
org.apache.nifi.processors |
WARN |
|
org.apache.nifi.processors.standard.LogAttribute |
INFO |
|
org.apache.nifi.processors.standard.LogMessage |
INFO |
|
org.apache.nifi.controller.repository.StandardProcessSession |
WARN |
|
org.wali |
WARN |
|
org.apache.nifi.cluster |
INFO |
|
org.apache.nifi.server.JettyServer |
INFO |
|
org.eclipse.jetty |
INFO |
|
user_events_loggers |
org.apache.nifi.web.security |
INFO |
org.apache.nifi.web.api.config |
INFO |
|
org.apache.nifi.authorization |
INFO |
|
org.apache.nifi.cluster.authorization |
INFO |
|
org.apache.nifi.web.filter.RequestLogger |
INFO |
|
bootstrap_loggers |
org.apache.nifi.bootstrap |
INFO |
org.apache.nifi.bootstrap.Command |
INFO |
|
org.apache.nifi.StdOut |
INFO |
|
org.apache.nifi.StdErr |
INFO |
|
custom_logger |
— |
— |
Шаблон для пользовательской настройки файла NiFi logback.xml.
Значение по умолчанию:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Maintained by ADCM
-->
{% set logback = services.nifi.config['nifi_logback_content'] %}
<configuration scan="true" scanPeriod="30 seconds">
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--
For daily rollover, use 'app_%d.log'.
For hourly rollover, use 'app_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-app_%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<!-- keep 30 log files worth of history -->
<maxHistory>{{ logback.app_file_max_history }}</maxHistory>
</rollingPolicy>
<immediateFlush>true</immediateFlush>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<appender name="USER_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--
For daily rollover, use 'user_%d.log'.
For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-user_%d.log</fileNamePattern>
<!-- keep 30 log files worth of history -->
<maxHistory>{{ logback.user_file_max_history }}</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<appender name="BOOTSTRAP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.bootstrap.config.log.dir}/nifi-bootstrap.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--
For daily rollover, use 'user_%d.log'.
For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.bootstrap.config.log.dir}/nifi-bootstrap_%d.log</fileNamePattern>
<!-- keep 5 log files worth of history -->
<maxHistory>{{ logback.boot_file_max_history }}</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<!-- valid logging levels: TRACE, DEBUG, INFO, WARN, ERROR -->
{% for key, value in logback.app_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}"/>
{% endfor -%}
<logger name="org.apache.zookeeper.ClientCnxn" level="ERROR" />
<logger name="org.apache.zookeeper.server.NIOServerCnxn" level="ERROR" />
<logger name="org.apache.zookeeper.server.NIOServerCnxnFactory" level="ERROR" />
<logger name="org.apache.zookeeper.server.quorum" level="ERROR" />
<logger name="org.apache.zookeeper.ZooKeeper" level="ERROR" />
<logger name="org.apache.zookeeper.server.PrepRequestProcessor" level="ERROR" />
<logger name="org.apache.calcite.runtime.CalciteException" level="OFF" />
<logger name="org.apache.curator.framework.recipes.leader.LeaderSelector" level="OFF" />
<logger name="org.apache.curator.ConnectionState" level="OFF" />
<!-- Suppress non-error messages due to excessive logging by class or library -->
<logger name="com.sun.jersey.spi.container.servlet.WebComponent" level="ERROR"/>
<logger name="com.sun.jersey.spi.spring" level="ERROR"/>
<logger name="org.springframework" level="ERROR"/>
<!-- Suppress non-error messages due to known warning about redundant path annotation (NIFI-574) -->
<logger name="com.sun.jersey.spi.inject.Errors" level="ERROR"/>
<logger name="org.glassfish.jersey.internal.Errors" level="ERROR"/>
<!-- Suppress non-error messages due to Jetty AnnotationParser emitting a large amount of WARNS. Issue described in NIFI-5479. -->
<logger name="org.eclipse.jetty.annotations.AnnotationParser" level="ERROR"/>
<!--
Logger for capturing user events. We do not want to propagate these
log events to the root logger. These messages are only sent to the
user-log appender.
-->
{% for key, value in logback.user_events_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}" additivity="false">
<appender-ref ref="USER_FILE"/>
</logger>
{% endfor -%}
<!--
Logger for capturing Bootstrap logs and NiFi's standard error and standard out.
-->
{% for key, value in logback.bootstrap_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}" additivity="false">
<appender-ref ref="BOOTSTRAP_FILE"/>
{% if key == "org.apache.nifi.bootstrap.Command" %}
<appender-ref ref="CONSOLE" />
{% endif -%}
</logger>
{% endfor -%}
<!--
Custom Logger
-->
{% if logback.custom_logger is not none -%}
{% if logback.custom_logger | length > 0 -%}
{% for key, value in logback.custom_logger | dictsort -%}
<logger name="{{ key }}" level="{{ value }}"/>
{% endfor -%}
{% endif -%}
{% endif -%}
<root level="{{ logback.root_level }}">
<appender-ref ref="APP_FILE"/>
</root>
</configuration>
Шаблон для пользовательской настройки файла NiFi state-management.xml.
Значение по умолчанию:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
Maintained by ADCM
-->
{%- if cluster.config.cluster_znode is defined and cluster.config.cluster_znode is not none %}
{% set zookeeper_connect = cluster.config.cluster_znode.split('/')[0] %}
{%- endif -%}
<stateManagement>
<!--
State Provider that stores state locally in a configurable directory. This Provider requires the following properties:
Directory - the directory to store components' state in. If the directory being used is a sub-directory of the NiFi installation, it
is important that the directory be copied over to the new version when upgrading NiFi.
Always Sync - If set to true, any change to the repository will be synchronized to the disk, meaning that NiFi will ask the operating system not to cache the information. This is very
expensive and can significantly reduce NiFi performance. However, if it is false, there could be the potential for data loss if either there is a sudden power loss or the
operating system crashes. The default value is false.
Partitions - The number of partitions.
Checkpoint Interval - The amount of time between checkpoints.
-->
<local-provider>
<id>local-provider</id>
<class>org.apache.nifi.controller.state.providers.local.WriteAheadLocalStateProvider</class>
<property name="Directory">{{ nifi_home }}/conf/state/local</property>
<property name="Always Sync">false</property>
<property name="Partitions">16</property>
<property name="Checkpoint Interval">2 mins</property>
</local-provider>
<!--
State Provider that is used to store state in ZooKeeper. This Provider requires the following properties:
Root Node - the root node in ZooKeeper where state should be stored. The default is '/nifi', but it is advisable to change this to a different value if not using
the embedded ZooKeeper server and if multiple NiFi instances may all be using the same ZooKeeper Server.
Connect String - A comma-separated list of host:port pairs to connect to ZooKeeper. For example, myhost.mydomain:2181,host2.mydomain:5555,host3:6666
Session Timeout - Specifies how long this instance of NiFi is allowed to be disconnected from ZooKeeper before creating a new ZooKeeper Session. Default value is "30 seconds"
Access Control - Specifies which Access Controls will be applied to the ZooKeeper ZNodes that are created by this State Provider. This value must be set to one of:
- Open : ZNodes will be open to any ZooKeeper client.
- CreatorOnly : ZNodes will be accessible only by the creator. The creator will have full access to create children, read, write, delete, and administer the ZNodes.
This option is available only if access to ZooKeeper is secured via Kerberos or if a Username and Password are set.
-->
<cluster-provider>
<id>zk-provider</id>
<class>org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class>
<property name="Connect String">{{ zookeeper_connect | default('') }}</property>
<property name="Root Node">/arenadata/cluster/{{ cluster.id }}/nifi</property>
<property name="Session Timeout">10 seconds</property>
<property name="Access Control">Open</property>
</cluster-provider>
<!--
Cluster State Provider that stores state in Redis. This can be used as an alternative to the ZooKeeper State Provider.
This provider requires the following properties:
Redis Mode - The type of Redis instance:
- Standalone
- Sentinel
- Cluster (currently not supported for state-management due to use of WATCH command which Redis does not support in clustered mode)
Connection String - The connection string for Redis.
- In a standalone instance this value will be of the form hostname:port.
- In a sentinel instance this value will be the comma-separated list of sentinels, such as host1:port1,host2:port2,host3:port3.
- In a clustered instance this value will be the comma-separated list of cluster masters, such as host1:port,host2:port,host3:port.
This provider has the following optional properties:
Key Prefix - The prefix for each key stored by this state provider. When sharing a single Redis across multiple NiFi instances, setting a unique
value for the Key Prefix will make it easier to identify which instances the keys came from (default nifi/components/).
Database Index - The database index to be used by connections created from this connection pool.
See the databases property in redis.conf, by default databases 0-15 will be available.
Communication Timeout - The timeout to use when attempting to communicate with Redis.
Cluster Max Redirects - The maximum number of redirects that can be performed when clustered.
Sentinel Master - The name of the sentinel master, require when Mode is set to Sentinel.
Password - The password used to authenticate to the Redis server. See the requirepass property in redis.conf.
Pool - Max Total - The maximum number of connections that can be allocated by the pool (checked out to clients, or idle awaiting checkout).
A negative value indicates that there is no limit.
Pool - Max Idle - The maximum number of idle connections that can be held in the pool, or a negative value if there is no limit.
Pool - Min Idle - The target for the minimum number of idle connections to maintain in the pool. If the configured value of Min Idle is
greater than the configured value for Max Idle, then the value of Max Idle will be used instead.
Pool - Block When Exhausted - Whether or not clients should block and wait when trying to obtain a connection from the pool when the pool
has no available connections. Setting this to false means an error will occur immediately when a client requests a connection and
none are available.
Pool - Max Wait Time - The amount of time to wait for an available connection when Block When Exhausted is set to true.
Pool - Min Evictable Idle Time - The minimum amount of time an object may sit idle in the pool before it is eligible for eviction.
Pool - Time Between Eviction Runs - The amount of time between attempting to evict idle connections from the pool.
Pool - Num Tests Per Eviction Run - The number of connections to tests per eviction attempt. A negative value indicates to test all connections.
Pool - Test On Create - Whether or not connections should be tested upon creation (default false).
Pool - Test On Borrow - Whether or not connections should be tested upon borrowing from the pool (default false).
Pool - Test On Return - Whether or not connections should be tested upon returning to the pool (default false).
Pool - Test While Idle - Whether or not connections should be tested while idle (default true).
<cluster-provider>
<id>redis-provider</id>
<class>org.apache.nifi.redis.state.RedisStateProvider</class>
<property name="Redis Mode">Standalone</property>
<property name="Connection String">localhost:6379</property>
</cluster-provider>
-->
</stateManagement>
Шаблон для пользовательской настройки файла NiFi bootstrap-notification-services.xml.
Значение по умолчанию:
<?xml version="1.0"?>
<!--
Maintained by ADCM
-->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<services>
<!-- This file is used to define how interested parties are notified when events in NiFi's lifecycle occur. -->
<!-- The format of this file is:
<services>
<service>
<id>service-identifier</id>
<class>org.apache.nifi.notifications.DesiredNotificationService</class>
<property name="property name">property value</property>
<property name="another property">another property value</property>
</service>
</services>
This file can contain 0 to many different service definitions.
The id can then be referenced from the bootstrap.conf file in order to configure the notification service
to be used when particular lifecycle events occur.
-->
<!--
<service>
<id>email-notification</id>
<class>org.apache.nifi.bootstrap.notification.email.EmailNotificationService</class>
<property name="SMTP Hostname"></property>
<property name="SMTP Port"></property>
<property name="SMTP Username"></property>
<property name="SMTP Password"></property>
<property name="SMTP TLS"></property>
<property name="From"></property>
<property name="To"></property>
</service>
-->
<!--
<service>
<id>http-notification</id>
<class>org.apache.nifi.bootstrap.notification.http.HttpNotificationService</class>
<property name="URL"></property>
</service>
-->
</services>
Позволяет пользователям устанавливать параметры запуска NiFi Registry в файле bootstrap.conf при помощи поля Add key, value.
Параметр | Описание | Значение по умолчанию |
---|---|---|
nifi.registry.web.war.directory |
Место хранения каталога web.war |
./lib |
nifi.registry.web.jetty.working.directory |
Место хранения каталога Jetty working |
./work/jetty |
nifi.registry.web.jetty.threads |
Количество потоков Jetty |
200 |
nifi.registry.security.needClientAuth |
Это указывает, что подключающиеся клиенты должны проходить аутентификацию с помощью клиентского сертификата |
false |
nifi.registry.db.directory |
Расположение каталога базы данных реестра |
— |
nifi.registry.db.url.append |
Это свойство указывает дополнительные аргументы, которые необходимо добавить в строку подключения к базе данных реестра |
— |
nifi.registry.db.url |
Полная строка подключения JBDC |
jdbc:h2:/usr/lib/nifi-registry/database/nifi-registry-primary;AUTOCOMMIT=OFF;DB_CLOSE_ON_EXIT=FALSE;LOCK_MODE=3;LOCK_TIMEOUT=25000;WRITE_DELAY=0;AUTO_SERVER=FALSE |
nifi.registry.db.driver.class |
Имя класса драйвера JBDC |
org.h2.Driver |
nifi.registry.db.driver.directory |
Необязательный каталог, содержащий один или несколько файлов JAR для добавления в путь к классам |
— |
nifi.registry.db.username |
Имя пользователя для базы данных |
nifireg |
nifi.registry.db.password |
Пароль для базы данных |
— |
nifi.registry.db.maxConnections |
Максимальное количество соединений для пула соединений |
5 |
nifi.registry.db.sql.debug |
Включить или нет ведение журнала отладки для операторов SQL |
false |
nifi.registry.sensitive.props.additional.keys |
Разделенный запятыми список свойств для шифрования в дополнение к конфиденциальным свойствам по умолчанию |
nifi.registry.db.password |
nifi.registry.security.keystore |
Полный путь и имя keystore |
— |
nifi.registry.security.keystoreType |
Тип хранилища keystore |
— |
nifi.registry.security.keystorePasswd |
Пароль хранилища ключей keystore |
— |
nifi.registry.security.keyPasswd |
Ключевой пароль |
— |
nifi.registry.security.truststore |
Полный путь и имя хранилища truststore |
— |
nifi.registry.security.truststoreType |
Тип хранилища truststore |
— |
nifi.registry.security.truststorePasswd |
Пароль хранилища truststore |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
jmx_port |
Порт, по которому отправляются JMX-метрики |
9995 |
JMX Exporter Port |
Порт для подключения к Prometheus JMX Exporter |
11206 |
Включает аутентификацию для JMX в сервисе (используется при необходимости защиты доступа к JMX-порту)
Параметр | Описание | Значение по умолчанию |
---|---|---|
Username |
Имя пользователя для аутентификации в JMX |
monitoring |
Password |
Пароль пользователя для аутентификации в JMX |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Filesystem Flow Storage Directory |
Каталог хранения файлов Flow |
/usr/lib/nifi-registry/flow_storage |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Git Flow Storage Directory |
Путь файловой системы для каталога, в котором сохраняются файлы содержимого потока. Каталог должен существовать при запуске NiFi Registry. Также необходимо инициализировать как каталог Git |
/usr/lib/nifi-registry/git_flow_storage |
Remote To Push |
При создании нового моментального снимка потока этот провайдер обновляет файлы в указанном каталоге Git, а затем создает фиксацию в локальном репозитории. Если определен Remote To Push, данные также отправляются в указанный удаленный репозиторий (например, источник). Чтобы определить более подробную удаленную спецификацию, например имена ветвей, используйте Refspec |
— |
Remote Access User |
Имя пользователя используется для отправки push-запросов в удаленный репозиторий, когда включена функция Remote To Push, а доступ к удаленному репозиторию осуществляется по протоколу HTTP. Если используется SSH, аутентификация пользователя осуществляется с помощью ключей SSH |
— |
Remote Access Password |
Пароль для пользователя удаленного доступа |
— |
Remote Clone Repository |
URI удаленного репозитория, который будет использоваться для клонирования в каталог Flow Storage, если локальный репозиторий отсутствует в каталоге Flow Storage. Если оставить пустым, каталог Git необходимо настроить в соответствии с каталогом инициализации Git. Если указан URI, то также должны присутствовать Remote Access User и Remote Access Password. В настоящее время ветка удаленного управления по умолчанию будет клонирована |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
Extension Bundle Storage Directory |
Каталог хранения пакетов расширений |
/usr/lib/nifi-registry/extension_bundles |
Параметры, определяющие место для установки сервиса NiFi-Registry
Параметр | Значение по умолчанию |
---|---|
NIFI_REGISTRY_HOME |
/usr/lib/nifi-registry |
NIFI_REGISTRY_PID_DIR |
/var/run/nifi-registry |
NIFI_REGISTRY_LOG_DIR |
/var/log/nifi-registry |
Настройка уровней логирования и log rotate для NiFi-Registry
Параметр | Описание | Значение по умолчанию |
---|---|---|
app_file_max_history |
Максимальное количество файлов для приложений |
10 |
events_file_max_history |
Максимальное количество файлов для событий |
5 |
boot_file_max_history |
Максимальное количество файлов для Boot |
5 |
root_level |
Уровень события |
INFO |
Настройка структуры файла конфигурации логирования для NiFi-Registry
Журнал (логгер) | Имена пакетов по умолчанию | Уровень события по умолчанию |
---|---|---|
app_loggers |
org.apache.nifi.registry |
INFO |
org.hibernate.SQL |
WARN |
|
org.hibernate.type |
INFO |
|
events_loggers |
org.apache.nifi.registry.provider.hook.LoggingEventHookProvider |
INFO |
bootstrap_loggers |
org.apache.nifi.registry.bootstrap |
INFO |
org.apache.nifi.registry.bootstrap.Command |
INFO |
|
org.apache.nifi.registry.StdOut |
INFO |
|
org.apache.nifi.registry.StdErr |
ERROR |
Шаблон для пользовательской настройки файла NiFi Registry logback.xml.
Значение по умолчанию:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Maintained by ADCM
-->
{% set logback = services.nifi.config['nifi_registry_logback_content'] %}
<configuration scan="true" scanPeriod="30 seconds">
<contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
<resetJUL>true</resetJUL>
</contextListener>
<appender name="APP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.registry.bootstrap.config.log.dir}/nifi-registry-app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--
For daily rollover, use 'app_%d.log'.
For hourly rollover, use 'app_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.registry.bootstrap.config.log.dir}/nifi-registry-app_%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 log files worth of history -->
<maxHistory>{{ logback.app_file_max_history }}</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
<immediateFlush>true</immediateFlush>
</encoder>
</appender>
<appender name="BOOTSTRAP_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.registry.bootstrap.config.log.dir}/nifi-registry-bootstrap.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--
For daily rollover, use 'user_%d.log'.
For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.registry.bootstrap.config.log.dir}/nifi-registry-bootstrap_%d.log</fileNamePattern>
<!-- keep 5 log files worth of history -->
<maxHistory>{{ logback.boot_file_max_history }}</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<appender name="EVENTS_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${org.apache.nifi.registry.bootstrap.config.log.dir}/nifi-registry-event.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--
For daily rollover, use 'user_%d.log'.
For hourly rollover, use 'user_%d{yyyy-MM-dd_HH}.log'.
To GZIP rolled files, replace '.log' with '.log.gz'.
To ZIP rolled files, replace '.log' with '.log.zip'.
-->
<fileNamePattern>${org.apache.nifi.registry.bootstrap.config.log.dir}/nifi-registry-event_%d.log</fileNamePattern>
<!-- keep 5 log files worth of history -->
<maxHistory>{{ logback.events_file_max_history }}</maxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date ## %msg%n</pattern>
</encoder>
</appender>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date %level [%thread] %logger{40} %msg%n</pattern>
</encoder>
</appender>
<!-- valid logging levels: TRACE, DEBUG, INFO, WARN, ERROR -->
{% for key, value in logback.app_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}"/>
{% endfor -%}
<!--
Logger for capturing Bootstrap logs and NiFi Registry's standard error and standard out.
-->
{% for key, value in logback.bootstrap_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}" additivity="false">
<appender-ref ref="BOOTSTRAP_FILE"/>
{% if key == "org.apache.nifi.registry.bootstrap.Command" %}
<appender-ref ref="CONSOLE" />
{% endif -%}
</logger>
{% endfor -%}
<!-- This will log all events to a separate file when the LoggingEventHookProvider is enabled in providers.xml -->
{% for key, value in logback.events_loggers | dictsort -%}
<logger name="{{ key }}" level="{{ value }}" additivity="false">
<appender-ref ref="EVENTS_FILE"/>
</logger>
{% endfor -%}
<root level="{{ logback.root_level }}">
<appender-ref ref="APP_FILE"/>
</root>
</configuration>
Шаблон для пользовательской настройки файла NiFi Registry providers.xml.
Значение по умолчанию:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
Maintained by ADCM
-->
<providers>
{% if services.nifi.config['registry_flow_provider'] == 'FileSystemFlowPersistenceProvider' %}
{% set provider = services.nifi.config['registry_filesystem_flow_provider'] %}
<flowPersistenceProvider>
<class>org.apache.nifi.registry.provider.flow.FileSystemFlowPersistenceProvider</class>
<property name="Flow Storage Directory">{{ provider.flow_persistence_directory }}</property>
</flowPersistenceProvider>
{% elif services.nifi.config['registry_flow_provider'] == 'GitFlowPersistenceProvider' %}
{% set provider = services.nifi.config['registry_git_flow_provider'] %}
<flowPersistenceProvider>
<class>org.apache.nifi.registry.provider.flow.git.GitFlowPersistenceProvider</class>
<property name="Flow Storage Directory">{{ provider.flow_persistence_directory }}</property>
<property name="Remote To Push">{{ provider.remote_to_push }}</property>
<property name="Remote Access User">{{ provider.remote_access_user }}</property>
<property name="Remote Access Password">{{ provider.remote_access_password }}</property>
<property name="Remote Clone Repository">{{ provider.remote_clone_repository }}</property>
</flowPersistenceProvider>
{% endif %}
<!--
<eventHookProvider>
<class>org.apache.nifi.registry.provider.hook.ScriptEventHookProvider</class>
<property name="Script Path"></property>
<property name="Working Directory"></property>
-->
<!-- Optional Whitelist Event types
<property name="Whitelisted Event Type 1">CREATE_FLOW</property>
<property name="Whitelisted Event Type 2">DELETE_FLOW</property>
-->
<!--
</eventHookProvider>
-->
<!-- This will log all events to a separate file specified by the EVENT_APPENDER in logback.xml -->
<!--
<eventHookProvider>
<class>org.apache.nifi.registry.provider.hook.LoggingEventHookProvider</class>
</eventHookProvider>
-->
{% if services.nifi.config['registry_bundle_provider'] == 'FileSystemBundlePersistenceProvider' %}
{% set provider = services.nifi.config['registry_filesystem_bundle_provider'] %}
<extensionBundlePersistenceProvider>
<class>org.apache.nifi.registry.provider.extension.FileSystemBundlePersistenceProvider</class>
<property name="Extension Bundle Storage Directory">{{ provider.bundle_persistence_directory }}</property>
</extensionBundlePersistenceProvider>
{% endif %}
</providers>
Шаблон для пользовательской настройки файла NiFi Registry registry-aliases.xml.
Значение по умолчанию:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
Maintained by ADCM
-->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<aliases>
<!--
<alias>
<internal>LOCAL_NIFI_REGISTRY</internal>
<external>http://registry.nifi.apache.org:18080</external>
</alias>
-->
</aliases>
Шаблон пользовательского файла jaas.conf предназначен для указания пользовательских данных подключения клиентов других сервисов к текущему сервису (пути к keytab-файлам, параметр useTicketCache
и другие). Подробнее см. Настройка пользовательского jaas.conf.
Значение по умолчанию:
{% if cluster.config.kerberos_client and cluster.config.kerberos_client.enable_kerberos %}
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
principal="nifi/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/nifi.service.keytab";
};
{% endif %}
Schema-Registry
Параметр | Описание | Значение по умолчанию |
---|---|---|
listener port |
Порт, который слушает Schema-Registry. Указывается в качестве параметра |
8081 |
Параметр | Описание | Значение по умолчанию |
---|---|---|
LOG_DIR |
Каталог для хранения логов |
/var/log/schema-registry |
JMX_PORT |
Порт, по которому Schema-Registry отдает JMX-метрики |
9997 |
SCHEMA_REGISTRY_HEAP_OPTS |
Размер heap, выделенный Schema-Registry |
-Xmx1024M |
SCHEMA_REGISTRY_JVM_PERFORMANCE_OPTS |
Параметры JVM в части опций PERFORMANCE |
-server -XX:+UseG1G -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true |
SCHEMA_REGISTRY_OPTS |
Переменные среды JAVA для Schema-Registry |
-Djava.security.auth.login.config=/etc/schema-registry/jaas_config.conf |
Параметр | Описание | Значение по умолчанию |
---|---|---|
authentication.method |
Способ аутентификации |
BASIC |
authentication.roles |
Список ролей пользователей, разделенных запятыми. Чтобы авторизоваться на сервере Schema-Registry, аутентифицированный пользователь должен принадлежать хотя бы к одной из этих ролей. Подробнее см. Basic-аутентификация |
admin |
authentication.realm |
Cоответствовует разделу в файле jaas_config.file, который определяет, как сервер аутентифицирует пользователей, и должен быть передан как параметр JVM во время запуска сервера |
SchemaRegistry-Props |
ADSControl_user |
Пользователь ADS Control для подключения к Schema-Registry |
admin |
Параметр | Описание | Значение по умолчанию |
---|---|---|
kafkastore.topic |
Одиночная партиция топика, который является надежным логом для данных. Этот топик необходимо сжать, чтобы избежать потери данных из-за политики хранения |
_schemas |
debug |
Логическое значение, указывающее генерировать ли дополнительную отладочную информацию при обработке ошибок |
false |
inter.instance.protocol |
Протокол, используемый при совершении вызовов между экземплярами Schema Registry |
http |
ssl.keystore.location |
Используется для HTTPS. Расположение файла хранилища ключей keystore для использования SSL |
— |
ssl.keystore.password |
Используется для HTTPS. Пароль хранилища для файла keystore |
— |
ssl.key.password |
Пароль ключа, содержащегося в keystore |
— |
ssl.truststore.location |
Используется для HTTPS. Расположение truststore. Требуется только для аутентификации HTTPS-клиентов |
— |
ssl.truststore.password |
Пароль для доступа к хранилищу truststore |
— |
kafkastore.ssl.keystore.location |
Расположение файла хранилища keystore SSL |
— |
kafkastore.ssl.keystore.password |
Пароль для доступа к хранилищу keystore SSL |
— |
kafkastore.ssl.key.password |
Пароль ключа, содержащегося в хранилище keystore |
— |
kafkastore.ssl.keystore.type |
Формат файла хранилища ключей keystore |
— |
kafkastore.ssl.truststore.location |
Расположение файла хранилища сертификатов truststore SSL |
— |
kafkastore.ssl.truststore.password |
Пароль для доступа к truststore |
— |
kafkastore.ssl.truststore.type |
Формат файла хранилища truststore |
— |
kafkastore.ssl.endpoint.identification.algorithm |
Алгоритм идентификации конечной точки для проверки имени хоста сервера с использованием сертификата сервера |
— |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации schema-registry.properties |
— |
Шаблон пользовательского файла jaas.conf предназначен для указания пользовательских данных подключения клиентов других сервисов к текущему сервису (пути к keytab-файлам, параметр useTicketCache
и другие). Подробнее см. Настройка пользовательского jaas.conf.
Значение по умолчанию:
{% if cluster.config.basic_auth_default_config is not none %}
{{ services.schema_registry.config.basic_auth_properties_content['authentication.realm'] }} {
org.eclipse.jetty.jaas.spi.PropertyFileLoginModule required
file="{{ schema_registry_home_path }}/config/password.properties"
debug="false";
};
{% endif %}
{% if cluster.config.kerberos_client and cluster.config.kerberos_client.enable_kerberos %}
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
serviceName="kafka"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/schema-registry.service.keytab"
principal="schema-registry/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
KafkaClient {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
storeKey=true
useTicketCache=false
serviceName="kafka"
keyTab="{{ cluster.config.kerberos_client.keytab_dir }}/schema-registry.service.keytab"
principal="schema-registry/{{ ansible_fqdn }}@{{ cluster.config.kerberos_client.realm }}";
};
{%- elif cluster.config.sasl_plain_auth_default_config is not none %}
{%- set credential = cluster.config.sasl_plain_auth_default_config.sasl_plain_users_data %}
KafkaClient {
org.apache.kafka.common.security.plain.PlainLoginModule required
username="schema-registry"
password="{{ credential['schema-registry'] }}";
};
{% endif %}
Конфигурационные параметры компонента Schema-Registry:
Параметр | Описание | Значение по умолчанию |
---|---|---|
log4j.rootLogger |
Настройка уровня ведения логов |
INFO |
log4j.logger.kafka |
Настройка уровня ведения логов брокера Kafka (вывод в server.log и стандартный вывод). См. также |
ERROR |
log4j.logger.org.apache.zookeeper |
Настройка ведения логов клиента ZooKeeper |
ERROR |
log4j.logger.org.apache.kafka |
Настройка уровня ведения логов брокера Kafka (вывод в server.log и стандартный вывод). См. также |
ERROR |
log4j.logger.org.I0Itec.zkclient |
Настройка уровня ведения лога клиента ZooKeeper |
ERROR |
Шаблон для пользовательской настройки файла логирования log4j_properties_template.
Значение по умолчанию:
{%- set schema_registry_server_log4j_properties_configuration = services.schema_registry.SERVER.config.log4j_properties_configuration %}
log4j.rootLogger={{ schema_registry_server_log4j_properties_configuration['log4j.rootLogger'] }}, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.logger.kafka={{ schema_registry_server_log4j_properties_configuration['log4j.logger.kafka'] }}, stdout
log4j.logger.org.apache.zookeeper={{ schema_registry_server_log4j_properties_configuration['log4j.logger.org.apache.zookeeper'] }}, stdout
log4j.logger.org.apache.kafka={{ schema_registry_server_log4j_properties_configuration['log4j.logger.org.apache.kafka'] }}, stdout
log4j.logger.org.I0Itec.zkclient={{ schema_registry_server_log4j_properties_configuration['log4j.logger.org.I0Itec.zkclient'] }}, stdout
log4j.additivity.kafka.server=false
log4j.additivity.kafka.consumer.ZookeeperConsumerConnector=false
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.maxBackupIndex=10
log4j.appender.file.maxFileSize=100MB
log4j.appender.file.File=${schema-registry.log.dir}/schema-registry.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] %p %m (%c)%n
ZooKeeper
Параметр | Описание | Значение по умолчанию |
---|---|---|
connect |
Строка подключения ZooKeeper, которая будет использоваться другими службами или кластерами, генерируется автоматически |
— |
dataDir |
Место, где ZooKeeper будет хранить моментальные снимки базы данных в памяти и, если не указано иное, журнал транзакций обновлений базы данных |
/var/lib/zookeeper |
admin.serverPort |
Порт, который прослушивает встроенный сервер Jetty. Сервер Jetty предоставляет HTTP-интерфейс для команд из четырехбуквенных слов |
58080 |
Параметр | Описание | Значение по умолчанию |
---|---|---|
clientPort |
Порт для прослушивания клиентских подключений |
2181 |
metricsHttpPort |
Порт для сбора метрик |
7000 |
tickTime |
Основная единица времени, используемая ZooKeeper (в мс). Минимальный тайм-аут сеанса будет в два раза больше, чем |
2000 |
initLimit |
Тайм-ауты, которые ZooKeeper использует для ограничения времени, в течение которого серверы ZooKeeper в Quorum должны подключаться к лидеру |
5 |
syncLimit |
Насколько каждый сервер может отставать от Лидера |
2 |
maxClientCnxns |
Это свойство ограничивает количество активных подключений с хоста, указанного по IP-адресу, к одному серверу ZooKeeper |
0 |
autopurge.snapRetainCount |
Когда функция автоматической очистки ZooKeeper включена, последние снапшоты в количестве |
3 |
autopurge.purgeInterval |
Интервал времени в часах, для которого должна быть запущена задача очистки. Установите положительное целое число ( |
24 |
Add key, value |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации zoo.cfg |
— |
Параметр | Описание | Значение по умолчанию |
---|---|---|
ZOO_LOG_DIR |
Каталог для хранения логов |
/var/log/zookeeper |
ZOOPIDFILE |
Каталог для хранения ID процесса ZooKeeper |
/var/run/zookeeper/zookeeper_server.pid |
SERVER_JVMFLAGS |
Используется для установки различных параметров JVM, связанных, например, со сборкой мусора |
-Xmx1024m |
JAVA |
Путь к Java |
$JAVA_HOME/bin/java |
ZOO_LOG4J_PROP |
Используется для установки уровня ведения журнала LOG4J и указания того, какие приложения журнала следует включить. Эффект от включения приложения журнала |
INFO, CONSOLE, ROLLINGFILE |
Параметр | Описание | Значение по умолчанию |
---|---|---|
jmx_port |
Порт, по которому отправляются JMX-метрики |
9994 |
JMX Exporter Port |
Порт для подключения к Prometheus JMX Exporter |
11208 |
Включает аутентификацию для JMX в сервисе (используется при необходимости защиты доступа к JMX-порту)
Параметр | Описание | Значение по умолчанию |
---|---|---|
Username |
Имя пользователя для аутентификации в JMX |
monitoring |
Password |
Пароль пользователя для аутентификации в JMX |
— |