Конфигурация 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

-

нет