Kafka connect: конфигурация XXX была предоставлена, но не является известной конфигурацией в AdminClientConfig

#apache-kafka #apache-kafka-connect

#apache-kafka #apache-kafka-connect

Вопрос:

При запуске Kafka-Connect я увидел множество предупреждений

 10:33:56.706 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'config.storage.topic' was supplied but isn't a known config.
10:33:56.707 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'group.id' was supplied but isn't a known config.
10:33:56.708 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'status.storage.topic' was supplied but isn't a known config.
10:33:56.709 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'internal.key.converter.schemas.enable' was supplied but isn't a known config.
10:33:56.710 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'config.storage.replication.factor' was supplied but isn't a known config.
10:33:56.710 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'offset.flush.interval.ms' was supplied but isn't a known config.
10:33:56.711 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'key.converter.schemas.enable' was supplied but isn't a known config.
10:33:56.712 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'internal.key.converter' was supplied but isn't a known config.
10:33:56.712 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'internal.value.converter.schemas.enable' was supplied but isn't a known config.
10:33:56.713 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'status.storage.replication.factor' was supplied but isn't a known config.
10:33:56.713 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'value.converter.schemas.enable' was supplied but isn't a known config.
10:33:56.714 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'internal.value.converter' was supplied but isn't a known config.
10:33:56.714 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'offset.storage.replication.factor' was supplied but isn't a known config.
10:33:56.715 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'offset.storage.topic' was supplied but isn't a known config.
10:33:56.715 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'value.converter' was supplied but isn't a known config.
10:33:56.716 [DistributedHerder] WARN  org.apache.kafka.clients.admin.AdminClientConfig - The configuration 'key.converter' was supplied but isn't a known config.

  

В каком-то сообщении говорится, что это связано с тем, что создание темы отключено, но это не в моем случае.
Раздел хранилища все еще создан.

В другом упоминается несоответствие версии, это также не в моем случае. Версия брокера kafka 1.0.0, а Kafka-Connect такая же, как у следующего pom.xml. Эти конфигурации предоставляются во время запуска Kafka-Connect

 <properties>
      <!-->
      Confluent version must match Kafka version
      https://docs.confluent.io/current/installation/versions-interoperability.html
      <-->
        <kafka.version>1.0.0</kafka.version>
        <confluent.version>5.1.2</confluent.version>
        <debezium-connector-mongodb.version>0.7.4</debezium-connector-mongodb.version>
        <logging.version>2.11.2</logging.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>connect-json</artifactId>
            <version>${kafka.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>connect-runtime</artifactId>
            <version>${kafka.version}</version>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.debezium</groupId>
            <artifactId>debezium-connector-mongodb</artifactId>
            <version>${debezium-connector-mongodb.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>connect-file</artifactId>
            <version>${kafka.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>io.confluent</groupId>
            <artifactId>kafka-connect-jdbc</artifactId>
            <version>${confluent.version}</version>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
  

что еще я должен проверить для исправления этих предупреждений? Я вижу, что данные доставляются через Kafka-Connect, но все еще беспокоюсь об этих предупреждениях

Ответ №1:

Это всего лишь WARN настройки, и их можно игнорировать. В будущих версиях они будут корректно подавлены: https://github.com/apache/kafka/pull/5876

Комментарии:

1. Я думаю, это потому, что этих констант нет в библиотеке клиента Kafka (AdminClientConfig), но по какой причине они вызываются в Kafka-Connect?

2. В Kafka-estate может быть полезно отслеживать предоставленные пользователем конфигурации (каким-либо образом), а не полностью подавлять эти предупреждения; если пользователь намеренно предоставляет конфигурацию, ожидая, что она изменит семантику или обработку, это служит хорошим намеком на то, что ваши ожидания могут не оправдаться :p … вероятно, первоначальное намерение

3. Я все еще вижу их в kafka 2.6.0. Игнорирование действительно не является хорошим ответом — журналы должны быть чистыми, чтобы команда мониторинга могла реагировать на действительные предупреждения.

4. @dlipofsky тот PR, на который я ссылаюсь, все еще открыт, так что, я думаю, вы могли бы продолжить работу над этим, если хотите добиться прогресса в этом 🙂