Конфигурация Flink#
Параметры Discovery:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
high-availability.zookeeper.quorum |
Список серверов ZooKeeper для подключения. Формат: hostname1:port1,hostname2:port2. |
string |
- |
да |
high-availability.zookeeper.client.connection-timeout |
Timeout подключения к ZooKeeper в миллисекундах |
long |
60000 |
нет |
high-availability.zookeeper.path.root |
Znode в ZooKeeper, используемая в качестве корня для сервиса |
string |
/flink |
нет |
Настройки логирования в топик Kafka
Имя параметра |
Описание |
Значение по умолчанию |
Обязательность |
|---|---|---|---|
logger.abyss.level |
Уровень логирования классов Abyss |
INFO |
нет |
logger.kafka.level |
Корневой уровень логирования |
OFF |
нет |
env.log.dir |
Имя файла журнала. По умолчанию задается через системное свойство log.file которое формируется скриптом запуска Flink. |
/tengri/cloudera/log/flink |
нет |
logger.file-size |
Максимальный размер текущего файла журнала. Используется при ротации журналов. |
100MB |
нет |
logger.max-file-amount |
Максимальное количество сохраняемых журнальных файлов. При ротации имена файлов формируются добавлением символа «.» и индекса к имени. |
10 |
нет |
logger.kafka.bootstrap-servers |
Список серверов Kafka для записи журналов. Формат: hostname1:port1,hostname2:port2 |
- |
нет |
logger.kafka.topic |
Топик Kafka для записи журнала |
- |
нет |
logger.kafka.client-id |
ID группы при записи в топик Kafka |
abyss_flink |
нет |
logger.dlq.level |
Уровень логирования журнала DLQ |
OFF |
нет |
dlq-log.kafka.topic |
Топик для журнала DLQ |
abyss.dlq-logs |
нет |
logger.file.level |
Корневой уровень логирования в файл |
INFO |
нет |
Настройки TLS для логирования в топик Kafka.
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
logger.kafka.protocol |
Протокол подключения к Kafka. Допустимые значения: SSL, PLAINTEXT. Если задано значение TLS, то нужно указать значения параметров ниже. |
string_enum |
PLAINTEXT |
нет |
logger.ssl.key.password |
Пароль от приватного ключа для взаимодействия Kafka c Druid |
password |
- |
нет |
logger.ssl.keystore.location |
Путь к хранилищу клиентских сертификатов для взаимодействия Kafka c Druid |
string |
- |
нет |
logger.ssl.keystore.password |
Пароль от хранилища клиентских сертификатов для взаимодействия Kafka c Druid |
password |
- |
нет |
logger.ssl.truststore.location |
Путь к хранилищу доверенных сертификатов для взаимодействия Kafka c Druid |
integer |
- |
нет |
logger.ssl.truststore.password |
Пароль от хранилища доверенных сертификатов для взаимодействия Kafka c Druid |
password |
- |
нет |
security.ssl.verify-hostname |
Параметр выключающий проверку сертификата хоста при установлении TLS соединения c Kafka |
boolean |
true |
нет |
Параметры сервиса:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
classloader.resolve-order |
Режим загрузки классов. Возможные значения: |
string |
parent-first |
нет |
- parent-first |
||||
- child-first |
||||
zookeeper.clientCnxnSocket |
Имя класса для выполнения сетевых соединений с поддержкой TLS к Zookeeper |
string |
org.apache.flink.shaded.zookeeper3.org.apache.zookeeper.ClientCnxnSocketNetty |
нет |
flink.java.home |
Переменная окружения, указывающая на директорию с установленным JDK |
string |
- |
Да |
Параметры соединения с Secret Management System:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
spring.cloud.vault.app-role.role-id |
Role id для аутентификации |
string |
- |
- |
spring.cloud.vault.app-role.secret-id |
Secret id для аутентификации |
password |
- |
- |
spring.cloud.vault.enabled |
Включение использования vault |
string |
false |
- |
spring.cloud.vault.namespace |
Namespace секретов vault |
string |
DEV |
- |
spring.cloud.vault.uri |
URI хранилища с секретами vault |
string |
- |
- |
Параметры SSL для соединения с Secret Management System:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
spring.cloud.vault.ssl.trust-store |
Путь до корневого сертификата в формате PEM |
string |
- |
нет |
spring.cloud.vault.ssl.verify-hosts |
Параметр включающий проверку сертификата хоста для vault |
string |
- |
нет |
Параметры подключения к Hadoop:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
hadoop.conf.dir |
Путь до директории конфигурационных файлов, используемых при подключении к Hadoop |
string |
- |
да |
hadoop.kerberos.enabled |
Включение/выключение Kerberos для подключения к Hadoop. |
boolean |
false |
да |
Параметры подключения с помощью Kerberos:
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
hadoop.kerberos.krb5.path |
Путь до файла krb5.conf |
string |
/etc/krb5.conf |
нет |
spring.cloud.vault.keytab.value |
Значение keytab/Путь в secman, где хранится keytab (в кодировке base64) |
string |
- |
нет |
kerberos.agent.ticket.renew.interval |
Частота продления Kerberos тикета агентом. Это значение должно быть меньше, чем значение kerberos.agent.ticket.lifetime. |
string |
6h |
нет |
kerberos.agent.ticket.renew_lifetime |
Срок действия Kerberos тикета. По истечении этого времени должен быть запрошен новый тикет (продлить существующий будет невозможно). Это значение также часто определяется в krb5.conf или настройках IPA, при этом будет выбрано наименьшее значение. |
string |
7d |
нет |
kerberos.agent.ticket.lifetime |
Максимальный период времени, в течение которого может использоваться тикет. По истечении срока действия тикет необходимо продлить существующий или запросить новый.Это значение также часто определяется в krb5.conf или настройках IPA, при этом будет выбрано наименьшее значение. Значение должно быть меньше, чем в kerberos.agent.ticket.renew_lifetime. |
string |
1d |
нет |
kerberos.agent.debug |
Включение/Выключение debug логов Kerberos (логи пишутся в stdout ролей сервиса) |
boolean |
false |
нет |
Настройки для отбрасывания метрик
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
metrics.reporter.abyss-kafka-reporter.enabled |
Включение/выключение отбрасывания метрик в Kafka |
boolean |
true |
нет |
metrics.reporter.abyss-kafka-reporter.factory.class |
Класс Abyss Kafka Reporter |
string |
ru.sbt.abyss.metrics.flink.kafka.reporter.KafkaJsonMetricsReporterFactory |
нет |
metrics.reporter.abyss-kafka-reporter.interval |
Интервал сбора метрик |
string |
60 SECONDS |
нет |
metrics.reporter.abyss-kafka-reporter.kafka-producer.bootstrap.servers |
Список Kafka брокеров (список должен содержать больше, чем одного брокера для большей доступности, но не обязательно перечислять их всех), Формат: hostname1:port1,hostname2:port2. |
string |
- |
нет |
metrics.reporter.abyss-kafka-reporter.topic |
Топик для публикации метрик |
string |
- |
нет |
metrics.reporter.abyss-kafka-reporter.kafka-producer.security.protocol |
Протокол подключения к топику Kafka. Допустимые значения: SSL, PLAINTEXT. |
string_enum |
TLS |
нет |
Настройки TLS для отбрасывания метрик
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
metrics.reporter.abyss-kafka-reporter.kafka-producer.security.protocol |
Протокол подключения к топику Kafka. Допустимые значения: |
string_enum |
PLAINTEXT |
нет |
- SSL, |
||||
- PLAINTEXT. |
||||
metrics.reporter.abyss-kafka-reporter.kafka-producer.ssl.key.password |
Пароль приватного ключа для отправки метрик |
password |
- |
нет |
metrics.reporter.abyss-kafka-reporter.kafka-producer.ssl.keystore.location |
Путь к хранилищу клиентских сертификатов для отправки метрик |
string |
- |
нет |
metrics.reporter.abyss-kafka-reporter.kafka-producer.ssl.keystore.password |
Пароль от хранилища клиентских сертификатов для отправки метрик |
password |
- |
нет |
metrics.reporter.abyss-kafka-reporter.kafka-producer.ssl.truststore.location |
Путь к хранилищу доверенных сертификатов для отправки метрик |
string |
- |
нет |
metrics.reporter.abyss-kafka-reporter.kafka-producer.ssl.truststore.password |
Пароль от хранилища доверенных сертификатов для отправки метрик |
password |
- |
нет |
Для возможности логирования Flink в Kafka используются следующие библиотеки.
№ |
Наименование |
Версия |
Комментарий |
|---|---|---|---|
1 |
logback-kafka-appender |
0.2.0-RC2 |
Библиотека необходима для логирования в топик Kafka. |
2 |
logstash-logback-encoder |
6.5 |
Библиотека необходима для логирования в топик Kafka. |
3 |
jackson-core |
2.11.3 |
Библиотека необходима для логирования в топик Kafka. |
4 |
jackson-databind |
2.11.3 |
Библиотека необходима для логирования в топик Kafka. |
5 |
jackson-annotations |
2.11.3 |
Библиотека необходима для логирования в топик Kafka. |
Настройки подключения Flink к внешнему HDFS
Данные параметры требуют настройки только в случае использования внешнего HDFS.
Настройки параметров при подключении Flink к внешнему HDFS.
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
hadoop.user.name |
Имя пользователя HDFS |
string |
- |
- |
env.hadoop.conf.dir |
Путь до файлов клиентской конфигурации HDFS |
string |
- |
- |
state.checkpoints.dir |
Путь к checkpoints |
string |
- |
- |
state.savepoints.dir |
Путь к savepoints |
string |
- |
- |
historyserver.archive.fs.dir |
Путь к истории выполнения задач |
string |
- |
- |
jobmanager.archive.fs.dir |
Путь к истории выполнения задач |
string |
- |
- |
high-availability.storageDir |
Путь к директории для high-availability |
string |
- |
- |
Настройки параметров Kerberos при подключении Flink к внешнему HDFS.
Имя параметра |
Описание |
Тип |
Значение по умолчанию |
Обязательность |
|---|---|---|---|---|
hadoop.kerberos.enabled |
Включение/выключение Kerberos для подключения к Hadoop. |
boolean |
false |
да |
security.kerberos.login.contexts |
Контекст аутентификации Kerberos: в случае использования Kerberos значение должно быть Hadoop. Иначе нужно оставить пустым. |
string |
- |
нет |
hadoop.security.kerberos.keytab.dir |
Путь до директории в которой хранятся Kerberos keytab файлы, итоговый полный путь до keytab-файла формируется по формуле KERBEROS_KEYTAB_DIR/HADOOP_USER_NAME.keytab, где: KERBEROS_KEYTAB_DIR - значение hadoop.security.kerberos.keytab.dir HADOOP_USER_NAME - значение hadoop.user.name. |
string |
- |
нет |
hadoop.security.kerberos.realm |
Kerberos Realm - используется для указания пространства имен, к которому принадлежит пользователь или служба, записывается в виде соответствующего ему доменного имени DNS, но в верхнем регистре. На основе данного параметра формируется значение Kerberos principal по формуле HADOOP_USER_NAME@REALM где: REALM - hadoop.security.kerberos.realm HADOOP_USER_NAME - значение hadoop.user.name |
string |
- |
нет |