Общие конфигурации Corax Mirror Maker 2#

Ниже приведены общие свойства конфигурации, которые применяются ко всем трем коннекторам.

source.cluster.alias

Алиас исходного кластера.

Тип: String

По умолчанию:

Допустимые значения:

Важность: высокая

ssl.key.password

Пароль закрытого ключа в файле хранилища ключей или PEM-ключ, указанный в ssl.keystore.key.

Тип: Password

По умолчанию: null

Допустимые значения:

Важность: высокая

ssl.keystore.certificate.chain

Цепочка сертификатов в формате, указанном в параметре ssl.keystore.type. По умолчанию поддерживается только формат PEM со списком сертификатов X.509.

Тип: Password

По умолчанию: null

Допустимые значения:

Важность: высокая

ssl.keystore.key

Закрытый ключ в формате, указанном в ssl.keystore.type. По умолчанию поддерживается только формат PEM с ключами PKCS#8. Если ключ зашифрован, пароль к ключу необходимо указать с помощью ssl.key.password.

Тип: Password

По умолчанию: null

Допустимые значения:

Важность: высокая

ssl.keystore.location

Расположение файла хранилища ключей. Необязательно для клиента, может использоваться для двусторонней аутентификации клиента.

Тип: String

По умолчанию: null

Допустимые значения:

Важность: высокая

ssl.keystore.password

Пароль для файла хранилища ключей. Обязательно только в случае использования ssl.keystore.location. Не поддерживается для формата PEM.

Тип: Password

По умолчанию: null

Допустимые значения:

Важность: высокая

ssl.truststore.certificates

Доверенные сертификаты в формате, указанном в параметре ssl.truststore.type. Используемая по умолчанию фабрика SSL-движка поддерживает только формат PEM с сертификатами X.509.

Тип: Password

По умолчанию: null

Допустимые значения:

Важность: высокая

ssl.truststore.location

Местоположение хранилища доверенных сертификатов.

Тип: String

По умолчанию: null

Допустимые значения:

Важность: высокая

ssl.truststore.password

Пароль для файла хранилища доверенных сертификатов. Если пароль не задан, хранилище будет использоваться, но без проверки целостности. Пароль хранилища доверенных сертификатов не поддерживается для формата PEM.

Тип: Password

По умолчанию: null

Допустимые значения:

Важность: высокая

target.cluster.alias

Алиас целевого кластера. Используется в метриках.

Тип: String

По умолчанию: target

Допустимые значения:

Важность: высокая

sasl.client.callback.handler.class

Полное имя класса обработчика обратного вызова SASL-клиента, реализующего интерфейс AuthenticateCallbackHandler.

Тип: Class

По умолчанию: null

Допустимые значения:

Важность: средняя

sasl.jaas.config

Контекстные параметры входа JAAS для SASL-подключений в формате конфигурационных файлов JAAS. Формат значения: loginModuleClass controlFlag (optionName=optionValue)*;. Для конфигурации брокера должен быть указан префикс listener и имя SASL-механизма (в нижнем регистре). Например: listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule required;.

Тип: Password

По умолчанию: null

Допустимые значения:

Важность: средняя

sasl.kerberos.service.name

Имя Kerberos-принципала, под которым работает Corax. Можно задать либо в конфигурации JAAS, либо в конфигурации Corax.

Тип: String

По умолчанию: null

Допустимые значения:

Важность: средняя

sasl.login.callback.handler.class

Полное имя класса обработчика SASL-логина, реализующего интерфейс AuthenticateCallbackHandler. Для брокеров конфигурация должна содержать префикс listener и имя механизма SASL в нижнем регистре. Например: listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler.

Тип: Class

По умолчанию: null

Допустимые значения:

Важность: средняя

sasl.login.class

Полное имя класса, реализующего интерфейс Login. Для брокеров конфигурация входа должна содержать префикс listener и имя механизма SASL в нижнем регистре. Например: listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.

Тип: Class

По умолчанию: null

Допустимые значения:

Важность: средняя

sasl.mechanism

Механизм SASL, используемый для подключения клиентов. Подходит любой механизм, для которого доступен провайдер безопасности. Механизм по умолчанию — GSSAPI.

Тип: String

По умолчанию: GSSAPI

Допустимые значения:

Важность: средняя

sasl.oauthbearer.jwks.endpoint.url

URL-адрес провайдера OAuth/OIDC для получения JWKS. URL-адрес может быть на основе HTTP(S) или в виде файла. Если URL-адрес на основе HTTP(S), данные JWKS будут получены от провайдера OAuth/OIDC по настроенному URL-адресу при запуске брокера. Все актуальные на тот момент ключи будут кешироваться в брокере для входящих запросов. Если получен запрос на аутентификацию для JWT, который содержит значение заголовка «kid», которого еще нет в кеше, то по запросу будет снова запрошен эндпоинт JWKS. Однако брокер опрашивает URL-адрес каждые sasl.oauthbearer.jwks.endpoint.refresh.ms миллисекунд, чтобы обновить кеш с помощью любых будущих ключей до получения запросов JWT, которые их содержат. Если URL-адрес является файловым, то брокер загрузит файл JWKS из настроенного местоположения при запуске. Если JWT содержит значение заголовка «kid», которого нет в файле JWKS, брокер отклонит JWT, и аутентификация не пройдет.

Тип: String

По умолчанию: null

Допустимые значения:

Важность: средняя

sasl.oauthbearer.token.endpoint.url

URL-адрес провайдера идентификационных данных OAuth/OIDC. Если URL-адрес основан на HTTP(S), то это URL-адрес эндпоинта эмитента токена, к которому будут направляться запросы для входа в систему в соответствии с настройками в sasl.jaas.config. Если URL-адрес основан на файлах, то он указывает на файл, содержащий токен доступа (в сериализованной форме JWT), выданный провайдером идентификационных данных OAuth/OIDC для использования при авторизации.

Тип: String

По умолчанию: null

Допустимые значения:

Важность: средняя

security.protocol

Протокол, используемый для связи с брокерами.

Тип: String

По умолчанию: PLAINTEXT (с учетом регистра)

Допустимые значения: (без учета регистра) [SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT]

Важность: средняя

ssl.enabled.protocols

Список протоколов, поддерживаемых для SSL-соединений. Значение по умолчанию — «TLSv1.2, TLSv1.3». Это означает, что клиенты и серверы будут отдавать предпочтение TLSv1.3, если оба его поддерживают, и в противном случае перейдут на TLSv1.2 (при условии, что оба поддерживают как минимум TLSv1.2). Это значение по умолчанию подходит для большинства случаев использования. Также ознакомьтесь с документацией по настройке ssl.protocol.

Тип: list

По умолчанию: TLSv1.2,TLSv1.3

Допустимые значения:

Важность: средняя

ssl.keystore.type

Формат файла хранилища ключей. Это необязательно для клиента. Значения, которые в настоящее время поддерживаются по умолчанию в ssl.engine.factory.class, — [JKS, PKCS12, PEM].

Тип: String

По умолчанию: JKS

Допустимые значения:

Важность: средняя

ssl.protocol

SSL-протокол, используемый для создания SSLContext. По умолчанию „TLSv1.3“ при работе с Java 11 и новее, иначе „TLSv1.2“. Это значение подходит для большинства сценариев. В современных JVM допустимы значения „TLSv1.2“ и „TLSv1.3“. Старые JVM могут поддерживать „TLS“, „TLSv1.1“, „SSL“, „SSLv2“ и „SSLv3“, но их использование не рекомендуется из-за известных уязвимостей. При значении по умолчанию и настройке „ssl.enabled.protocols“ клиенты будут понижать версию до „TLSv1.2“, если сервер не поддерживает „TLSv1.3“. Если указано „TLSv1.2“, клиенты не будут использовать „TLSv1.3“, даже если он есть в „ssl.enabled.protocols“ и сервер поддерживает только „TLSv1.3“.

Тип: string

По умолчанию: TLSv1.3

Допустимые значения:

Важность: средняя

ssl.provider

Название провайдера безопасности для SSL-соединений. По умолчанию используется системный провайдер JVM.

Тип: string

По умолчанию: null

Допустимые значения:

Важность: средняя

ssl.truststore.type

Формат файла хранилища доверенных сертификатов. Поддерживаемые значения для ssl.engine.factory.class: [JKS, PKCS12, PEM].

Тип: string

По умолчанию: JKS

Допустимые значения:

Важность: средняя

admin.timeout.ms

Тайм-аут для административных задач, например, обнаружения новых топиков.

Тип: long

По умолчанию: 60000 (1 минута)

Допустимые значения:

Важность: низкая

auto.include.jmx.reporter

(Устарело) Автоматически включать JmxReporter, даже если он не указан в metric.reporters. Используйте org.apache.kafka.common.metrics.JmxReporter в metric.reporters.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

enabled

Включено ли реплицирование source → target.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

forwarding.admin.class

Класс, расширяющий ForwardingAdmin для управления ресурсами кластера (топики, конфиги и так далее). Должен иметь конструктор (Map config), который используется для конфигурирования клиентов для внешних систем.

Тип: class

По умолчанию: org.apache.kafka.clients.admin.ForwardingAdmin

Допустимые значения:

Важность: низкая

metric.reporters

Список классов для репортинга метрик (реализуют MetricsReporter). Реализация интерфейса org.apache.kafka.common.metrics.MetricsReporter позволяет подключать классы, которые будут получать уведомления о создании новых метрик. JmxReporter всегда включен.

Тип: list

По умолчанию: null

Допустимые значения:

Важность: низкая

replication.policy.class

Класс, определяющий соглашение об именовании создаваемых на целевом кластере топиков.

Тип: class

По умолчанию: org.apache.kafka.connect.mirror.DefaultReplicationPolicy

Допустимые значения:

Важность: низкая

replication.policy.internal.topic.separator.enabled

Использовать ли replication.policy.separator для имен топиков чекпоинтов и синхронизации смещений. По умолчанию в этих именах топиков используются пользовательские разделители. Для совместимости с Corax Mirror Maker 2 из старых версий может потребоваться false.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

replication.policy.separator

Разделитель в соглашении об именовании расположенных удаленно топиков.

Тип: string

По умолчанию: .

Допустимые значения:

Важность: низкая

sasl.kerberos.kinit.cmd

Путь к команде kinit для Kerberos.

Тип: string

По умолчанию: /usr/bin/kinit

Допустимые значения:

Важность: низкая

sasl.kerberos.min.time.before.relogin

Время ожидания (мс) между попытками обновления Kerberos-логина.

Тип: long

По умолчанию: 60000

Допустимые значения:

Важность: низкая

sasl.kerberos.ticket.renew.jitter

Процент случайного отклонения при обновлении Kerberos-тикетов.

Тип: double

По умолчанию: 0.05

Допустимые значения:

Важность: низкая

sasl.kerberos.ticket.renew.window.factor

Коэффициент времени для обновления Kerberos-тикетов.

Тип: double

По умолчанию: 0.8

Допустимые значения:

Важность: низкая

sasl.login.connect.timeout.ms

Тайм-аут подключения (мс) к внешнему провайдеру аутентификации (только OAUTHBEARER).

Тип: int

По умолчанию: null

Допустимые значения:

Важность: низкая

sasl.login.read.timeout.ms

Тайм-аут чтения (мс) для внешнего провайдера аутентификации (только OAUTHBEARER).

Тип: int

По умолчанию: null

Допустимые значения:

Важность: низкая

sasl.login.refresh.buffer.seconds

Буферное время (сек) до истечения срока действия учетных данных (только OAUTHBEARER). Если между обновлением учетных данных и указанным сроком истечения этих данных остается меньше времени, чем указанное количество секунд буферного времени, то обновление будет перенесено на более ранний срок, чтобы максимально увеличить буферное время. Допустимые значения — от 0 до 3600 (1 час). Если значение не указано, используется значение по умолчанию 300 (5 минут). Это значение и sasl.login.refresh.min.period.seconds игнорируются, если их сумма превышает оставшийся срок действия учетных данных.

Тип: short

По умолчанию: 300

Допустимые значения: [0,…,3600]

Важность: низкая

sasl.login.refresh.min.period.seconds

Желаемое минимальное время ожидания до того, как поток обновления входа в систему обновит учетные данные (сек). Допустимые значения — от 0 до 900 (15 минут); если значение не указано, используется значение по умолчанию 60 (1 минута). Это значение и sasl.login.refresh.buffer.seconds игнорируются, если их сумма превышает оставшийся срок действия учетных данных. В настоящее время применяется только к OAUTHBEARER.

Тип: short

По умолчанию: 60

Допустимые значения: [0,…,900]

Важность: низкая

sasl.login.refresh.window.factor

Поток обновления входа в систему будет находиться в спящем режиме до тех пор, пока не будет достигнут указанный коэффициент окна относительно срока действия учетных данных, после чего он попытается обновить учетные данные. Допустимые значения находятся в диапазоне от 0,5 (50%) до 1,0 (100%) включительно. Если значение не указано, используется значение по умолчанию 0,8 (80%). В настоящее время применяется только к OAUTHBEARER.

Тип: double

По умолчанию: 0.8

Допустимые значения: [0.5,…,1.0]

Важность: низкая

sasl.login.refresh.window.jitter

Максимальное количество случайных отклонений относительно срока действия учетных данных, добавляемое к времени ожидания потока обновления входа в систему. Допустимые значения находятся в диапазоне от 0 до 0,25 (25%) включительно. Если значение не указано, используется значение по умолчанию 0,05 (5%). В настоящее время применяется только к OAUTHBEARER.

Тип: double

По умолчанию: 0.05

Допустимые значения: [0.0,…,0.25]

Важность: низкая

sasl.login.retry.backoff.max.ms

(Необязательное) значение в миллисекундах для максимального времени ожидания между попытками входа в систему внешнего провайдера аутентификации. При входе в систему используется алгоритм экспоненциального ожидания с начальным временем ожидания, указанным в параметре sasl.login.retry.backoff.ms, и время ожидания между попытками удваивается до максимального времени ожидания, указанного в параметре sasl.login.retry.backoff.max.ms. В настоящее время применяется только к OAUTHBEARER.

Тип: long

По умолчанию: 10000

Допустимые значения:

Важность: низкая

sasl.login.retry.backoff.ms

(Необязательное) значение в миллисекундах для начального интервала ожидания между попытками входа во внешний сервис аутентификации. При входе используется алгоритм экспоненциального ожидания с начальным интервалом ожидания, основанным на параметре sasl.login.retry.backoff.ms, и интервал ожидания между попытками удваивается до максимального значения, указанного в параметре sasl.login.retry.backoff.max.ms. В настоящее время применяется только к OAUTHBEARER.

Тип: long

По умолчанию: 100

Допустимые значения:

Важность: низкая

sasl.oauthbearer.clock.skew.seconds

(Необязательное) значение в секундах, учитывающее разницу во времени между поставщиком удостоверений OAuth/OIDC и брокером.

Тип: int

По умолчанию: 30

Допустимые значения:

Важность: низкая

sasl.oauthbearer.expected.audience

(Необязательный) параметр, разделенный запятыми, который брокер использует для проверки того, что JWT был выдан для одной из ожидаемых аудиторий. JWT будет проверяться на наличие стандартного утверждения OAuth «aud», и если это значение задано, брокер будет сопоставлять его со значением утверждения «aud» в JWT, чтобы убедиться в точном совпадении. Если совпадения нет, брокер отклонит JWT, и аутентификация завершится ошибкой.

Тип: list

По умолчанию: null

Допустимые значения:

Важность: низкая

sasl.oauthbearer.expected.issuer

(Необязательный) параметр, который брокер использует для проверки того, что JWT был создан ожидаемым эмитентом. JWT будет проверяться на наличие стандартного утверждения OAuth «iss», и если это значение задано, брокер будет сравнивать его с тем, что указано в утверждении «iss» JWT. Если соответствия нет, брокер отклонит JWT, и аутентификация завершится ошибкой.

Тип: string

По умолчанию: null

Допустимые значения:

Важность: низкая

sasl.oauthbearer.jwks.endpoint.refresh.ms

(Необязательное) Значение в миллисекундах, определяющее интервал между обновлениями кеша JWKS (JSON Web Key Set) у брокера. Этот кеш содержит ключи для проверки подписи JWT.

Тип: long По умолчанию: 3600000 Допустимые значения: Важность: низкая

sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms

(Необязательное) Максимальное время ожидания в миллисекундах между попытками получения JWKS (JSON Web Key Set) от внешнего провайдера аутентификации. Используется алгоритм экспоненциальной задержки с начальным значением из sasl.oauthbearer.jwks.endpoint.retry.backoff.ms, которое удваивается между попытками до указанного максимума.

Тип: long

По умолчанию: 10000

Допустимые значения:

Важность: низкая

sasl.oauthbearer.jwks.endpoint.retry.backoff.ms

(Необязательное) значение в миллисекундах для начального интервала ожидания между попытками получения JWKS (набора веб-ключей JSON) от внешнего поставщика аутентификации. При получении JWKS используется алгоритм экспоненциального отката с начальным интервалом ожидания, основанным на параметре sasl.oauthbearer.jwks.endpoint.retry.backoff.ms, и интервал ожидания между попытками удваивается до максимального значения, указанного в параметре sasl.oauthbearer.jwks.endpoint.retry.backoff.max.ms.

Тип: long

По умолчанию: 100

Допустимые значения:

Важность: низкая

sasl.oauthbearer.scope.claim.name

Требование OAuth для области действия часто называется «область действия», но в этом (необязательном) параметре можно указать другое имя для области действия, включенной в требования JWT, если провайдер OAuth/OIDC использует другое имя для этого требования.

Тип: string

По умолчанию: scope

Допустимые значения:

Важность: низкая

sasl.oauthbearer.sub.claim.name

Утверждению OAuth для субъекта часто присваивается имя «sub», но этот (необязательный) параметр может указывать другое имя для субъекта, включенного в утверждения полезной нагрузки JWT, если провайдер OAuth/OIDC использует другое имя для этого утверждения.

Тип: string

По умолчанию: sub

Допустимые значения:

Важность: низкая

ssl.cipher.suites

Список наборов шифров. Это именованная комбинация алгоритмов аутентификации, шифрования, MAC и алгоритма обмена ключами, используемая для согласования параметров безопасности сетевого подключения с помощью сетевого протокола TLS или SSL. По умолчанию поддерживаются все доступные наборы шифров.

Тип: list

По умолчанию: null

Допустимые значения:

Важность: низкая

ssl.endpoint.identification.algorithm

Алгоритм идентификации конечной точки для проверки имени хоста сервера с использованием сертификата сервера.

Тип: string

По умолчанию: https

Допустимые значения:

Важность: низкая

ssl.engine.factory.class

Класс типа org.apache.kafka.common.security.auth.SslEngineFactory для предоставления объектов SSLEngine. Значение по умолчанию — org.apache.kafka.common.security.ssl.DefaultSslEngineFactory. В качестве альтернативы можно установить значение org.apache.kafka.common.security.ssl.CommonNameLoggingSslEngineFactory, чтобы регистрировать общее имя просроченных SSL-сертификатов, используемых клиентами для аутентификации на любом из брокеров, с уровнем ведения журнала INFO. Обратите внимание, что это приведет к небольшой задержке при установлении новых соединений между клиентами mTLS и брокерами из-за дополнительного кода для проверки цепочки сертификатов, предоставленной клиентом. Также обратите внимание, что в реализации используется пользовательское хранилище доверенных сертификатов на основе стандартного хранилища доверенных сертификатов Java, которое может считаться небезопасным из-за недостаточной проработанности по сравнению со стандартным хранилищем.

Тип: class

По умолчанию: null

Допустимые значения:

Важность: низкая

ssl.keymanager.algorithm

Алгоритм, используемый фабрикой менеджера ключей для SSL-соединений. Значение по умолчанию — алгоритм фабрики диспетчера ключей, настроенный для виртуальной машины Java.

Тип: string

По умолчанию: SunX509

Допустимые значения:

Важность: низкая

ssl.secure.random.implementation

Реализация SecureRandom PRNG для использования в операциях шифрования SSL.

Тип: string

По умолчанию: null

Допустимые значения:

Важность: низкая

ssl.trustmanager.algorithm

Алгоритм, используемый Trust Manager Factory для SSL-соединений. Значение по умолчанию — алгоритм Trust Manager Factory, настроенный для виртуальной машины Java.

Тип: string

По умолчанию: PKIX

Допустимые значения:

Важность: низкая

name

Глобально уникальное имя для данного коннектора.

Тип: string

По умолчанию:

Допустимые значения: непустая строка без управляющих символов ISO

Важность: высокая

connector.class

Имя или алиас класса для данного коннектора. Должен быть подклассом org.apache.kafka.connect.connector.Connector. Если коннектор — org.apache.kafka.connect.file.FileStreamSinkConnector, нужно указать его полное имя или использовать «FileStreamSink» или «FileStreamSinkConnector», чтобы сократить конфигурацию.

Тип: string

По умолчанию:

Допустимые значения:

Важность: высокая

tasks.max

Максимальное количество задач для данного коннектора.

Тип: int

По умолчанию: 1

Допустимые значения:

Важность: высокая

tasks.max.enforce

(Устарело) Определяет, нужно ли принудительно соблюдать свойство tasks.max для коннектора. По умолчанию коннекторы, создающие слишком много задач, завершатся с ошибкой, как и уже работающие наборы задач, превышающие значение tasks.max. Если для этого свойства задано значение false, коннекторам будет разрешено создавать больше задач, чем указано в максимуме, а существующие наборы задач, превышающие tasks.max, продолжат работу. Это свойство устарело и будет удалено в следующих основных версиях.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

key.converter

Класс-конвертер для преобразования данных между форматом Corax Connect и сериализованной формой, записываемой в Corax. Управляет форматом ключей в сообщениях, записываемых или читаемых из Corax. Поскольку этот параметр не зависит от коннекторов, он позволяет использовать любую сериализацию. Примеры распространенных форматов: JSON и Avro.

Тип: class

По умолчанию: null

Допустимые значения: Конкретный подкласс org.apache.kafka.connect.storage.Converter Класс с публичным конструктором без аргументов

Важность: низкая

value.converter

Класс-конвертер для преобразования данных между форматом Corax Connect и сериализованной формой, записываемой в Kafka. Управляет форматом значений в сообщениях, записываемых или читаемых из Corax. Примеры форматов: JSON и Avro.

Тип: class

По умолчанию: null

Допустимые значения: Конкретный подкласс org.apache.kafka.connect.storage.Converter Класс с публичным конструктором без аргументов

Важность: низкая

header.converter

Класс HeaderConverter используется для преобразования между форматом Corax Connect и сериализованной формой, которая записывается в Corax. Это позволяет управлять форматом значений заголовков в сообщениях, которые записываются в Corax или считываются из Corax, и, поскольку это не зависит от коннекторов, позволяет любому коннектору работать с любым форматом сериализации. Примеры распространенных форматов: JSON и Avro. По умолчанию для сериализации значений заголовков в строки и их десериализации с помощью определения схем используется SimpleHeaderConverter.

Тип: class

По умолчанию: null Допустимые значения: Конкретный подкласс org.apache.kafka.connect.storage.HeaderConverter Класс с публичным конструктором без аргументов

Важность: низкая

config.action.reload

Действие, которое Connect должен выполнить для коннектора, когда изменения во внешних поставщиках конфигурации приводят к изменению свойств конфигурации коннектора. Значение «нет» указывает на то, что Connect ничего не будет делать. Значение «перезапустить» указывает на то, что Connect должен перезапустить/перезагрузить коннектор с обновленными свойствами конфигурации. Перезапуск может быть запланирован на будущее, если внешний поставщик конфигурации указывает, что срок действия значения конфигурации истечет в будущем.

none: Connect не предпринимает действий. restart: коннектор перезапускается/перезагружается с обновленной конфигурацией. Перезапуск может быть запланирован на будущее, если провайдер указывает срок истечения конфигурации.

Тип: string

По умолчанию: restart

Допустимые значения: [none, restart]

Важность: низкая

transforms

Алиасы для преобразований, применяемых к записям.

Тип: list

По умолчанию: «»

Допустимые значения: непустая строка, уникальные алиасы преобразований

Важность: низкая

predicates

Алиасы для предикатов, используемых преобразованиями.

Тип: list

По умолчанию: «»

Допустимые значения: непустая строка, уникальные алиасы предикатов

Важность: низкая

errors.retry.timeout

Максимальная длительность (в миллисекундах) для повторных попыток выполнения неудачной операции.

  • 0 (по умолчанию): повторы отключены.

  • -1: бесконечные повторы.

Тип: long По умолчанию: 0 Допустимые значения: Важность: средняя

errors.retry.delay.max.ms

Максимальная задержка (в миллисекундах) между повторами. После достижения этого лимита добавляется случайная задержка (jitter) для предотвращения «толпы запросов».

Тип: long

По умолчанию: 60000 (1 минута)

Допустимые значения:

Важность: средняя

errors.tolerance

Поведение при обработке ошибок:

none (по умолчанию): любая ошибка приводит к немедленному завершению задачи. all: пропуск проблемных записей.

Тип: string

По умолчанию: none

Допустимые значения: [none, all]

Важность: средняя

errors.log.enable

Если true, все ошибки, детали операций и проблемные записи записываются в лог Connect. По умолчанию (false) логируются только ошибки, которые не были проигнорированы.

Тип: boolean

По умолчанию: false

Допустимые значения:

Важность: средняя

errors.log.include.messages

Включать ли в лог данные записи, вызвавшей ошибку.

  • Для sink-записей: топик, партиция, смещение, временная метка.

  • Для source-записей: ключ, значение, схемы, заголовки, временные метки, топик, партиция, исходный раздел и смещение. По умолчанию (false) ключи, значения и заголовки не записываются в логи.

Тип: boolean

По умолчанию: false

Допустимые значения:

Важность*: средняя

Конфигурации источника Corax Mirror Maker 2#

Ниже приведены настройки source-коннектора Corax Mirror Maker 2 для репликации топиков.

config.properties.blacklist

(Устарело) Используйте вместо этого config.properties.exclude.

Тип: list

По умолчанию: null

Допустимые значения:

Важность: высокая

config.properties.exclude

Свойства конфигурации топиков, которые не должны реплицироваться. Поддерживает список свойств через запятую и регулярные выражения.

Тип: list

По умолчанию:

follower\.replication\.throttled\.replicas,leader\.replication\.throttled\.replicas,message\.timestamp\.difference\.max\.ms,message\.timestamp\.type,unclean\.leader\.election\.enable,min\.insync\.replicas

Допустимые значения:

Важность: высокая

topics

Топики для репликации. Поддерживает список топиков через запятую и регулярные выражения.

Тип: list

По умолчанию: .* (все топики)

Допустимые значения:

Важность: высокая

topics.blacklist

(Устарело) Используйте вместо этого topics.exclude.

Тип: list

По умолчанию: null

Допустимые значения:

Важность: высокая

topics.exclude

Исключаемые топики. Поддерживает список топиков через запятую и регулярные выражения. Исключения имеют приоритет над включениями.

Тип: list

По умолчанию: .*[\-\.]internal,.*\.replica,__.* (внутренние топики)

Допустимые значения:

Важность: высокая

add.source.alias.to.metrics

(Устарело) Добавлять ли в метрики тег source с алиасом исходного кластера. По умолчанию метрики содержат теги target, topic и partition. При активации добавляется тег source.

Тип: boolean

По умолчанию: false

Допустимые значения:

Важность: низкая

config.property.filter.class

Класс ConfigPropertyFilter для выбора свойств конфигурации топиков, подлежащих репликации.

Тип: class

По умолчанию: org.apache.kafka.connect.mirror.DefaultConfigPropertyFilter

Допустимые значения:

Важность: низкая

consumer.poll.timeout.ms

Тайм-аут (в миллисекундах) при опросе исходного кластера.

Тип: long

По умолчанию: 1000 (1 секунда)

Допустимые значения:

Важность: низкая

offset-syncs.topic.location

Расположение топика offset-syncs (исходный или целевой кластер).

Тип: string

По умолчанию: source

Допустимые значения: [source, target]

Важность: низкая

offset-syncs.topic.replication.factor

Фактор репликации для топика offset-syncs.

Тип: short

По умолчанию: 3

Допустимые значения:

Важность: низкая

offset.lag.max

Максимальное отставание (в количестве записей) удаленной партиции перед повторной синхронизацией.

Тип: long

По умолчанию: 100

Допустимые значения:

Важность: низкая

refresh.topics.enabled

Проверять ли периодически наличие новых топиков и партиций.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

refresh.topics.interval.seconds

Интервал (в секундах) проверки новых топиков.

Тип: long

По умолчанию: 600 (10 минут)

Допустимые значения:

Важность: низкая

replication.factor

Фактор репликации для создаваемых топиков.

Тип: int

По умолчанию: 2

Допустимые значения:

Важность: низкая

sync.topic.acls.enabled

Синхронизировать ли ACL создаваемых топиков с их исходными аналогами.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

sync.topic.acls.interval.seconds

Интервал (в секундах) синхронизации ACL топиков.

Тип: long

По умолчанию: 600 (10 минут)

Допустимые значения:

Важность: низкая

sync.topic.configs.enabled

Синхронизировать ли конфигурации создаваемых топиков с их исходными аналогами.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

sync.topic.configs.interval.seconds

Интервал (в секундах) синхронизации конфигураций топиков.

Тип: long

По умолчанию: 600 (10 минут)

Допустимые значения:

Важность: низкая

topic.filter.class

Класс TopicFilter для выбора топиков, подлежащих репликации.

Тип: class

По умолчанию: org.apache.kafka.connect.mirror.DefaultTopicFilter

Допустимые значения:

Важность: низкая

use.incremental.alter.configs

(Устарело) Выбор API для синхронизации конфигураций топиков:

  • requested (по умолчанию): Использует IncrementalAlterConfigs с откатом на AlterConfigs при ошибках.

  • required: Только IncrementalAlterConfigs (ошибки приводят к сбою коннектора).

  • never: Всегда использует устаревший AlterConfigs.

Тип: string

По умолчанию: requested

Допустимые значения: [requested, required, never]

Важность: низкая

Конфигурации контрольных точек Corax Mirror Maker 2#

Ниже приведены настройки checkpoint-коннектора Corax Mirror Maker 2 для отправки контрольных точек смещений потребителей.

groups

Группы потребителей для репликации. Поддерживает список идентификаторов групп через запятую и регулярные выражения.

Тип: list

По умолчанию: .* (все группы)

Допустимые значения:

Важность: высокая

groups.blacklist

(Устарело) Используйте вместо этого groups.exclude.

Тип: list

По умолчанию: null

Допустимые значения:

Важность: высокая

groups.exclude

Исключаемые группы потребителей. Поддерживает список идентификаторов групп через запятую и регулярные выражения. Исключения имеют приоритет над включениями.

Тип: list

По умолчанию: console-consumer-.*,connect-.*,__.* (системные группы)

Допустимые значения:

Важность: высокая

checkpoints.topic.replication.factor

Фактор репликации для топика контрольных точек (checkpoints).

Тип: short

По умолчанию: 3

Допустимые значения:

Важность: низкая

consumer.poll.timeout.ms

Тайм-аут (в миллисекундах) при опросе исходного кластера.

Тип: long

По умолчанию: 1000 (1 секунда)

Допустимые значения:

Важность: низкая

emit.checkpoints.enabled

Включить ли репликацию смещений потребителей в целевой кластер.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

emit.checkpoints.interval.seconds

Частота отправки контрольных точек (в секундах).

Тип: long

По умолчанию: 60 (1 минута)

Допустимые значения:

Важность: низкая

group.filter.class

Класс GroupFilter для выбора групп потребителей, подлежащих репликации.

Тип: class

По умолчанию: org.apache.kafka.connect.mirror.DefaultGroupFilter

Допустимые значения:

Важность: низкая

offset-syncs.topic.location

Расположение топика offset-syncs (исходный или целевой кластер).

Тип: string

По умолчанию: source

Допустимые значения: [source, target]

Важность: низкая

refresh.groups.enabled

Проверять ли периодически наличие новых групп потребителей.

Тип: boolean

По умолчанию**: true

Допустимые значения:

Важность: низкая

refresh.groups.interval.seconds

Интервал (в секундах) проверки новых групп потребителей.

Тип: long

По умолчанию: 600 (10 минут)

Допустимые значения:

Важность: низкая

sync.group.offsets.enabled

Записывать ли периодически преобразованные смещения в топик __consumer_offsets целевого кластера (только если в группе нет активных потребителей в целевом кластере).

Тип: boolean

По умолчанию: false

Допустимые значения:

Важность: низкая

sync.group.offsets.interval.seconds

Частота синхронизации смещений групп потребителей (в секундах).

Тип: long

По умолчанию: 60 (1 минута)

Допустимые значения:

Важность: низкая

topic.filter.class

Класс TopicFilter для выбора топиков, подлежащих репликации.

Тип: class

По умолчанию: org.apache.kafka.connect.mirror.DefaultTopicFilter

Допустимые значения:

Важность: низкая

Конфигурации Heartbeat Corax Mirror Maker 2#

Ниже приведены настройки heartbeat-коннектора Corax Mirror Maker 2 для проверки соединения между коннекторами и кластерами.

emit.heartbeats.enabled

Включить ли отправку heartbeat-сигналов в целевой кластер.

Тип: boolean

По умолчанию: true

Допустимые значения:

Важность: низкая

emit.heartbeats.interval.seconds

Частота отправки heartbeat-сигналов (в секундах).

Тип: long

По умолчанию: 1

Допустимые значения:

Важность: низкая

heartbeats.topic.replication.factor

Фактор репликации для топика heartbeats.

Тип: short

По умолчанию: 3

Допустимые значения:

Важность: низкая