Конфигурационные параметры Kafka
Для конфигурации сервиса используйте следующие параметры, доступные в ADCM.
|
ПРИМЕЧАНИЕ
|
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Host index matching |
Указывает |
— |
Kafka quorum solution |
Указывает, какой кворум используется Kafka для хранения метаданных и выбора лидера. Необходимо установить в |
Zookeeper |
KRaft migration mode |
Указывает, находится ли Kafka в состоянии миграции в режим KRaft |
false |
Kafka Ranger plugin enabled |
Указывает, включен ли плагин Ranger Kafka (заполняется автоматически) |
false |
Параметры переменных окружения сервиса Kafka
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
LOG_DIR |
Каталог для хранения логов |
/var/log/kafka |
PID_DIR |
Каталог для хранения ID процесса Kafka |
/var/run/kafka |
JMX_PORT |
Порт, по которому Kafka отдает JMX-метрики |
9999 |
KAFKA_OPTS |
Переменные окружения для Kafka |
-DZstdTempFolder=/usr/lib/kafka/tmp -Dorg.xerial.snappy.tempdir=/usr/lib/kafka/tmp |
Add property |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации kafka-env.sh |
— |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
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 |
Параметры 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
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
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 |
Интервал времени между проверками в секундах |
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 необходимо включить JMX-мониторинг.
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
jmx_port |
Порт, по которому отправляются JMX-метрики |
9999 |
JMX Exporter Port |
Порт для подключения к Prometheus JMX Exporter |
11201 |
Включает аутентификацию для JMX в сервисе (используется при необходимости защиты доступа к JMX-порту).
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
Username |
Имя пользователя для аутентификации в JMX |
monitoring |
Password |
Пароль пользователя для аутентификации в JMX |
— |
Конфигурационные параметры компонента Kafka Controller:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
listeners |
Порт для подключения к Kafka Controller |
CONTROLLER://:9093 |
Metadata log.dirs |
Путь к месту хранения метаданных кластера |
/kafka-meta |
additional |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации controller.properties |
— |
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
LOG_DIR |
Каталог для хранения логов |
/var/log/kafka-controller |
PID_DIR |
Каталог для хранения ID Kafka Controller |
/var/run/kafka-controller |
Add property |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации kafka-controller-env.sh |
— |
Конфигурационные параметры компонента Kafka Cruise Control:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
default.goals |
Список межброкерских целей, который будет использоваться по умолчанию, если не предоставлен список |
com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.DiskCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkInboundCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkOutboundCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.CpuCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.PotentialNwOutGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.DiskUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkInboundUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkOutboundUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.CpuUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.TopicReplicaDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.LeaderReplicaDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.LeaderBytesInDistributionGoal |
goals |
Набор нечувствительных к регистру межброкерских целей, поддерживаемых Сruise Сontrol. Межброкерские цели способствуют распределению нагрузки между брокерами |
com.linkedin.kafka.cruisecontrol.analyzer.goals.BrokerSetAwareGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.DiskCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkInboundCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkOutboundCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.CpuCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.PotentialNwOutGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.DiskUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkInboundUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkOutboundUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.CpuUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.TopicReplicaDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.LeaderReplicaDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.LeaderBytesInDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.kafkaassigner.KafkaAssignerDiskUsageDistributionGoal, com.linkedin.kafka.cruisecontrol.analyzer.kafkaassigner.KafkaAssignerEvenRackAwareGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.PreferredLeaderElectionGoal |
intra.broker.goals |
Список нечувствительных к регистру внутриброкерских целей в порядке приоритета. Цели с высоким приоритетом будут выполняться первыми. Внутриброкерские цели имеют значение, только если поддерживается внутриброкерская операция (в версии 2 и выше Cruise Control), в противном случае этот список должен быть пустым |
com.linkedin.kafka.cruisecontrol.analyzer.goals.IntraBrokerDiskCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.IntraBrokerDiskUsageDistributionGoal |
hard.goals |
Список нечувствительных к регистру, жестких внутриброкерских целей. Жесткие цели будут выполняться, если Cruise Control работает в режиме non-kafka-assigner и параметр |
com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.DiskCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkInboundCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkOutboundCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.CpuCapacityGoal |
anomaly.detection.goals |
Цели, нарушение которых должен обнаруживать детектор аномалий |
com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.DiskCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkInboundCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.NetworkOutboundCapacityGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.CpuCapacityGoal |
self.healing.enabled |
Включение самовосстановления для всех аномалий, если конкретная аномалия явно не отключена в детекторе аномалий |
false |
sample.store.topic.replication.factor |
Конфигурация фактора репликации для топиков хранилища Sample Store в Kafka |
1 |
webserver.http.cors.enabled |
Включает разрешение CORS при установке в значение |
false |
webserver.http.cors.origin |
Значение для заголовка |
http://localhost:8080/ |
webserver.http.cors.allowmethods |
Значение для заголовка |
OPTIONS,GET,POST |
webserver.http.cors.exposeheaders |
Значение для заголовка |
User-Task-ID |
webserver.http.port |
Порт для подключения к Cruise Control Webserver |
9181 |
webserver.http.address |
IP-адрес для подключения к Cruise Control Webserver |
0.0.0.0 |
metric.sampler.class |
Имя класса Metric Sampler |
com.linkedin.kafka.cruisecontrol.monitor.sampling.CruiseControlMetricsReporterSampler |
sampling.allow.cpu.capacity.estimation |
Включение оценки емкости CPU брокеров в процессе выборки, что используется для оценки использования CPU |
true |
metric.reporter.topic |
Точное название топика Metric Reporter, из которой Metric Sampler извлекает нужные метрики |
__CruiseControlMetrics |
sample.store.class |
Имя класса Sample Store. Пользователь может настроить Sample Store, который сохраняет метрики, образцы которых уже были агрегированы в Kafka Cruise Control. Позже сохраненные образцы могут быть загружены из Sample Store в Kafka Cruise Control |
com.linkedin.kafka.cruisecontrol.monitor.sampling.KafkaSampleStore |
partition.metric.sample.store.topic |
Топик, в котором Cruise Control будет хранить свои обработанные образцы метрик в качестве резервной копии. Когда Cruise Control будет перезагружен, он загрузит метрики из этого топика, чтобы заполнить монитор нагрузки |
__KafkaCruiseControlPartitionMetricSamples |
broker.metric.sample.store.topic |
Топик, в котором Cruise Control будет хранить образцы метрик брокеров в качестве резервной копии. Когда Cruise Control будет перезапущен, он загрузит образцы метрик брокеров из этого топика для обучения своей модели кластера |
__KafkaCruiseControlModelTrainingSamples |
num.sample.loading.threads |
Количество потоков для загрузки из топика Sample Store |
8 |
metric.sampler.partition.assignor.class |
Класс, используемый для назначения партиций Metric Sampler |
com.linkedin.kafka.cruisecontrol.monitor.sampling.DefaultMetricSamplerPartitionAssignor |
metric.sampling.interval.ms |
Интервал извлечения образцов метрик |
120000 |
partition.metrics.window.ms |
Размер окна в миллисекундах для агрегирования метрик партиций Kafka. Окно должно быть шире, чем |
300000 |
num.partition.metrics.windows |
Максимальное количество окон метрик партиций, которые будет держать монитор загрузки. Каждое окно охватывает временной интервал, определенный |
5 |
min.samples.per.partition.metrics.window |
Минимальное количество образцов метрик, которые должно иметь действующее окно метрик партиций. Если в окне метрик партиций недостаточно образцов, топик с такими партициями будет удален из окна из-за недостаточности данных |
1 |
broker.metrics.window.ms |
Размер окна в миллисекундах для агрегации метрик брокера Kafka. Окно должно быть больше, чем |
300000 |
num.broker.metrics.windows |
Максимальное количество окон метрик брокера, которые будет держать монитор загрузки. Каждое окно охватывает временной интервал, определяемый |
20 |
min.samples.per.broker.metrics.window |
Минимальное количество образцов метрик, которое должно иметь действующее окно метрик брокеров. Если у брокера недостаточно образцов метрик, этот брокер будет удален из окна из-за недостаточности данных |
1 |
capacity.config.file |
Путь к конфигурационному JSON-файлу, который предоставляет информацию о мощностях брокеров |
config/capacity.json |
min.valid.partition.ratio |
Минимальный процент от общего числа партиций, которые необходимо контролировать для генерации действительной модели нагрузки кластера. Поскольку топики и партиции в кластере Kafka динамически изменяются, монитор нагрузки исключит некоторые топики, у которых недостаточно образцов метрик |
0.95 |
cpu.balance.threshold |
Максимально допустимый предел дисбаланса по использованию ЦП. Например, |
1.1 |
disk.balance.threshold |
Максимально допустимая степень дисбаланса для использования диска. Например, |
1.1 |
network.inbound.balance.threshold |
Максимально допустимая степень дисбаланса для использования сети в входящем потоке. Например, |
1.1 |
network.outbound.balance.threshold |
Максимально допустимая степень дисбаланса для использования сети на выходе. Например, |
1.1 |
replica.count.balance.threshold |
Максимально допустимый предел дисбаланса для распределения реплик. Например, |
1.1 |
cpu.capacity.threshold |
Максимальный процент от общей мощности CPU брокера ( |
0.7 |
disk.capacity.threshold |
Максимальный процент от общей емкости диска брокера ( |
0.8 |
network.inbound.capacity.threshold |
Максимальный процент от общей пропускной способности ( |
0.8 |
network.outbound.capacity.threshold |
Максимальный процент от общей пропускной способности ( |
0.8 |
cpu.low.utilization.threshold |
Устанавливает низкий порог (в процентах) для определения использования CPU, при котором перебалансировка не имеет смысла. Кластер будет находиться в состоянии низкой загрузки только тогда, когда все брокеры будут ниже порога низкой загрузки |
0 |
disk.low.utilization.threshold |
Устанавливает низкий порог (в процентах) для определения использования диска, при котором перебалансировка не имеет смысла. Кластер будет находиться в состоянии низкой загрузки только тогда, когда все брокеры будут ниже порога низкой загрузки |
0 |
network.inbound.low.utilization.threshold |
Устанавливает низкий порог (в процентах) для определения входного трафика сети, при котором перебалансировка не имеет смысла. Кластер будет находиться в состоянии низкой загрузки только тогда, когда все брокеры будут ниже порога низкой загрузки |
0 |
network.outbound.low.utilization.threshold |
Устанавливает низкий порог (в процентах) для определения выходного трафика сети, при котором перебалансировка не имеет смысла. Кластер будет находиться в состоянии низкой загрузки только тогда, когда все брокеры будут ниже порога низкой загрузки |
0 |
metric.anomaly.percentile.upper.threshold |
Устанавливает верхний порог (в процентах) для детектора аномалий метрик с целью выявления увеличения значений метрики брокера как аномалии метрики. Текущее значение метрики сравнивается с историческим значением, соответствующим данному значению в истории метрик после применения верхней границы |
90 |
metric.anomaly.percentile.lower.threshold |
Устанавливает нижний порог (в процентах) для детектора аномалий метрик с целью выявления увеличения значений метрики брокера как аномалии метрики. Текущее значение метрики сравнивается с историческим значением, соответствующим данному значению в истории метрик после применения верхней границы |
10 |
proposal.expiration.ms |
Cruise Control постоянно кеширует одно из лучших предложений среди всех кандидатных предложений на оптимизацию, которые он недавно вычислил. Этот параметр определяет, когда кешированное предложение будет недействительным и потребует пересчета. Если параметр установлен в |
60000 |
max.replicas.per.broker |
Максимальное количество реплик, которому разрешено находиться на брокере. Анализатор будет применять жесткую цель, при которой количество реплик на брокере не может быть больше этого значения |
10000 |
num.proposal.precompute.threads |
Количество потоков, используемых для предварительного вычисления кандидатов для оптимизации. Чем больше потоков используется, тем больше ресурсов памяти и CPU будет задействовано |
1 |
num.concurrent.partition.movements.per.broker |
Максимальное количество партиций, которые исполнитель (executor) переместит в брокер или из него одновременно. Например, установка значения на |
10 |
max.num.cluster.partition.movements |
Максимальное количество разрешенных перемещений партиций в кластере. Этот глобальный лимит не может быть превышен независимо от уровня параллелизма перемещения реплик по брокерам. Например, установка значения на |
1250 |
num.concurrent.intra.broker.partition.movements |
Максимальное количество партиций, которые исполнитель (executor) будет перемещать между дисками в рамках брокера одновременно. Например, установка значения на |
2 |
num.concurrent.leader.movements |
Максимальное количество перемещений лидера, которые исполнитель (executor) выполнит за один раз. Это в основном связано с тем, что znode имеет верхний предел размера в 1 МБ. Это также снизит нагрузку на контроллер |
1000 |
execution.progress.check.interval.ms |
Интервал в миллисекундах, в течение которого исполнитель (executor) будет проверять прогресс выполнения |
10000 |
anomaly.notifier.class |
Класс уведомителя для вызова предупреждения при выявлении аномалии |
com.linkedin.kafka.cruisecontrol.detector.notifier.SelfHealingNotifier |
metric.anomaly.finder.class |
Список классов для поиска аномалий метрик, чтобы определить текущее состояние для выявления аномалий метрик |
com.linkedin.kafka.cruisecontrol.detector.KafkaMetricAnomalyFinder |
metric.anomaly.analyzer.metrics |
Идентификаторы метрик, которые детектор аномалий метрик должен обнаруживать в случае их нарушения |
BROKER_PRODUCE_LOCAL_TIME_MS_50TH, BROKER_PRODUCE_LOCAL_TIME_MS_999TH, BROKER_CONSUMER_FETCH_LOCAL_TIME_MS_50TH, BROKER_CONSUMER_FETCH_LOCAL_TIME_MS_999TH, BROKER_FOLLOWER_FETCH_LOCAL_TIME_MS_50TH, BROKER_FOLLOWER_FETCH_LOCAL_TIME_MS_999TH, BROKER_LOG_FLUSH_TIME_MS_50TH, BROKER_LOG_FLUSH_TIME_MS_999TH |
self.healing.exclude.recently.demoted.brokers |
Устанавливается в |
true |
self.healing.exclude.recently.removed.brokers |
Устанавливается в |
true |
failed.brokers.zk.path |
Путь в ZooKeeper для хранения списка неисправных брокеров, где сохраняется время сбоя брокера на случай, если в Cruise Control произошел сбой и перезапуск в тот момент, когда некоторые брокеры не запущены |
/CruiseControlBrokerList |
topic.config.provider.class |
Класс провайдера, который сообщает об активной конфигурации топиков |
com.linkedin.kafka.cruisecontrol.config.KafkaAdminTopicConfigProvider |
cluster.configs.file |
Путь к файлу конфигураций кластера |
config/clusterConfigs.json |
completed.kafka.monitor.user.task.retention.time.ms |
Максимальное время в миллисекундах для хранения ответа и доступа к деталям завершенной задачи мониторинга пользователя Kafka. Если этот параметр не установлен, будет использоваться значение, установленное в |
86400000 |
completed.cruise.control.monitor.user.task.retention.time.ms |
Максимальное время в миллисекундах для хранения ответа и доступа к деталям завершенной задачи мониторинга пользователя Cruise Control. Если этот параметр не установлен, будет использоваться значение, установленное в |
86400000 |
completed.kafka.admin.user.task.retention.time.ms |
Максимальное время в миллисекундах для хранения ответа и деталей доступа завершенной задачи администратора пользователя Kafka. Если этот параметр не установлен, будет использоваться значение, установленное в |
604800000 |
completed.cruise.control.admin.user.task.retention.time.ms |
Максимальное время в миллисекундах для хранения ответа и деталей доступа завершенной задачи пользователя Cruise Control. Если этот параметр не установлен, будет использоваться значение, установленное в |
604800000 |
completed.user.task.retention.time.ms |
Максимальное время в миллисекундах для хранения ответа и деталей доступа завершенной пользовательской задачи |
86400000 |
demotion.history.retention.time.ms |
Максимальное время в миллисекундах для хранения истории понижения брокеров |
1209600000 |
removal.history.retention.time.ms |
Максимальное время в миллисекундах для хранения истории удаления брокеров |
1209600000 |
max.cached.completed.kafka.monitor.user.tasks |
Максимальное количество завершенных пользовательских задач мониторинга Kafka, для которых будут кешироваться данные об ответах и доступе. Если этот параметр отсутствует, будет использовано значение, установленное в |
20 |
max.cached.completed.cruise.control.monitor.user.tasks |
Максимальное количество завершенных пользовательских задач мониторинга Cruise Control, для которых будут кешироваться данные об ответах и доступе. Если этот параметр отсутствует, будет использовано значение, установленное в |
20 |
max.cached.completed.kafka.admin.user.tasks |
Максимальное количество завершенных пользовательских задач по администрированию Kafka, для которых будут кешироваться данные ответа и доступа. Если этот параметр отсутствует, будет использовано значение, установленное в |
30 |
max.cached.completed.cruise.control.admin.user.tasks |
Максимальное количество завершенных пользовательских задач по управлению Cruise Control, для которых будут кешироваться данные ответа и доступа. Если этот параметр отсутствует, будет использовано значение, установленное в |
30 |
max.cached.completed.user.tasks |
Максимальное количество завершенных пользовательских задач, для которых будут кешироваться данные ответа и доступа |
25 |
max.active.user.tasks |
Максимальное количество пользовательских задач, которые могут выполняться одновременно в асинхронных конечных точках (endpoints) для всех пользователей |
5 |
webserver.api.urlprefix |
Префикс по умолчанию для URL REST API |
/kafkacruisecontrol/* |
webserver.ui.diskpath |
Место, где развернут фронтенд Cruise Control |
./cruise-control-ui/dist/ |
webserver.ui.urlprefix |
URL путь, откуда подается пользовательский интерфейс |
/* |
webserver.request.maxBlockTimeMs |
Время, по истечении которого запрос преобразуется в асинхронный |
10000 |
webserver.session.maxExpiryTimeMs |
Период истечения срока действия сессии по умолчанию |
60000 |
webserver.session.path |
Путь по умолчанию для сессии (для файлов cookie) |
/ |
webserver.accesslog.enabled |
Установите в |
true |
two.step.verification.enabled |
Установите в |
false |
two.step.purgatory.retention.time.ms |
Максимальное время в миллисекундах для сохранения запросов в двухступенчатом (верификационном) "чистилище запросов" (request purgatory) |
1209600000 |
two.step.purgatory.max.requests |
Максимальное количество запросов в двухступенчатом (верификационном) "чистилище запросов" (request purgatory) |
25 |
vertx.enabled |
Включает использование вертиклей |
false |
spnego.principal |
Принципал Kerberos-аутентификации для SPNEGO |
HTTP/{{ groups['kafka.CRUISECONTROL'][0] | d(omit) }}@{{ cluster.config.kerberos_client.realm }} |
spnego.keytab.file |
Keytab-файл для SPNEGO |
{{ cluster.config.kerberos_client.keytab_dir }}/HTTP.service.keytab |
additional |
Введенные в этом поле параметры и их значения перезаписывают параметры, указанные в пользовательском интерфейсе ADCM. В этом поле также есть возможность определить значения для всех пользовательских параметров, которые не отображаются в интерфейсе, но разрешены в файле конфигурации cruisecontrol.properties |
— |
Пользовательский шаблон для настройки JSON-файла, который предоставляет информацию о мощностях брокеров.
Значение по умолчанию:
{
"brokerCapacities":[
{
"brokerId": "-1",
"capacity": {
"DISK": "20000",
"CPU": "100",
"NW_IN": "50000",
"NW_OUT": "50000"
},
"doc": "This is the default capacity. Capacity unit used for disk is in MB, CPU is in percentage, network throughput is in KB."
}
]
}
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
property.filename |
Путь к логам Cruise Control |
/var/log/cruise-control |
rootLogger.level |
Уровень логирования корневого регистратора (root logger) |
INFO |
logger.cruisecontrol.level |
Уровень логирования Cruise Control |
INFO |
logger.detector.level |
Уровень логирования детектора аномалий |
INFO |
logger.operationLogger.level |
Уровень логирования выполнения операций |
INFO |
logger.CruiseControlPublicAccessLogger.level |
Уровень логирования публичного доступа Cruise Control |
INFO |
Шаблон пользовательского файла log4j_properties Cruise Control предназначен для указания пользовательских параметров логирования
Значение по умолчанию:
#jinja2: lstrip_blocks:"True", trim_blocks:"True"
# {{ ansible_managed }}
{% set kafka_cruisecontrol_log4j = services.kafka.CRUISECONTROL.config.log4j_properties_configuration %}
rootLogger.level={{ kafka_cruisecontrol_log4j['rootLogger.level'] }}
property.filename={{ kafka_cruisecontrol_log4j['property.filename'] }}
appenders=console, kafkaCruiseControlAppender, operationAppender, requestAppender
appender.console.type=Console
appender.console.name=STDOUT
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=[%d] %p %m (%c)%n
appender.kafkaCruiseControlAppender.type=RollingFile
appender.kafkaCruiseControlAppender.name=kafkaCruiseControlFile
appender.kafkaCruiseControlAppender.fileName=${filename}/kafkacruisecontrol.log
appender.kafkaCruiseControlAppender.filePattern=${filename}/kafkacruisecontrol.log.%d{yyyy-MM-dd-HH}
appender.kafkaCruiseControlAppender.layout.type=PatternLayout
appender.kafkaCruiseControlAppender.layout.pattern=[%d] %p %m (%c)%n
appender.kafkaCruiseControlAppender.policies.type=Policies
appender.kafkaCruiseControlAppender.policies.time.type=TimeBasedTriggeringPolicy
appender.kafkaCruiseControlAppender.policies.time.interval=1
appender.operationAppender.type=RollingFile
appender.operationAppender.name=operationFile
appender.operationAppender.fileName=${filename}/kafkacruisecontrol-operation.log
appender.operationAppender.filePattern=${filename}/kafkacruisecontrol-operation.log.%d{yyyy-MM-dd}
appender.operationAppender.layout.type=PatternLayout
appender.operationAppender.layout.pattern=[%d] %p [%c] %m %n
appender.operationAppender.policies.type=Policies
appender.operationAppender.policies.time.type=TimeBasedTriggeringPolicy
appender.operationAppender.policies.time.interval=1
appender.requestAppender.type=RollingFile
appender.requestAppender.name=requestFile
appender.requestAppender.fileName=${filename}/kafkacruisecontrol-request.log
appender.requestAppender.filePattern=${filename}/kafkacruisecontrol-request.log.%d{yyyy-MM-dd-HH}
appender.requestAppender.layout.type=PatternLayout
appender.requestAppender.layout.pattern=[%d] %p %m (%c)%n
appender.requestAppender.policies.type=Policies
appender.requestAppender.policies.time.type=TimeBasedTriggeringPolicy
appender.requestAppender.policies.time.interval=1
# Loggers
logger.cruisecontrol.name=com.linkedin.kafka.cruisecontrol
logger.cruisecontrol.level={{ kafka_cruisecontrol_log4j['logger.cruisecontrol.level'] }}
logger.cruisecontrol.appenderRef.kafkaCruiseControlAppender.ref=kafkaCruiseControlFile
logger.detector.name=com.linkedin.kafka.cruisecontrol.detector
logger.detector.level={{ kafka_cruisecontrol_log4j['logger.detector.level'] }}
logger.detector.appenderRef.kafkaCruiseControlAppender.ref=kafkaCruiseControlFile
logger.operationLogger.name=operationLogger
logger.operationLogger.level={{ kafka_cruisecontrol_log4j['logger.operationLogger.level'] }}
logger.operationLogger.appenderRef.operationAppender.ref=operationFile
logger.CruiseControlPublicAccessLogger.name=CruiseControlPublicAccessLogger
logger.CruiseControlPublicAccessLogger.level={{ kafka_cruisecontrol_log4j['logger.CruiseControlPublicAccessLogger.level'] }}
logger.CruiseControlPublicAccessLogger.appenderRef.requestAppender.ref=requestFile
rootLogger.appenderRefs=console, kafkaCruiseControlAppender
# Write to Syslog
# rootLogger.appenderRef.console.ref=STDOUT
rootLogger.appenderRef.kafkaCruiseControlAppender.ref=kafkaCruiseControlFile
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
ADSControl_user |
Имя сервисного пользователя ADS Control |
admin |
Меню конфигурации API Kerberos для Cruise Control.
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
HTTP |
Принципал для подключения по HTTP |
ADMIN |
adscc |
Принципал сервисного пользователя ADS Control |
ADMIN |
Add property |
Позволяет добавить короткое имя принципала (без указания |
— |