第 76 章 KafkaConnectSpec 模式参考


used in: KafkaConnect

KafkaConnectSpec 模式属性的完整列表

配置 Kafka Connect 集群。

config 属性是资源整体配置的一部分。使用 config 属性将 Kafka Connect 选项配置为密钥。

Kafka Connect 配置示例

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
  name: my-connect
spec:
  # ...
  config:
    group.id: my-connect-cluster
    offset.storage.topic: my-connect-cluster-offsets
    config.storage.topic: my-connect-cluster-configs
    status.storage.topic: my-connect-cluster-status
    key.converter: org.apache.kafka.connect.json.JsonConverter
    value.converter: org.apache.kafka.connect.json.JsonConverter
    key.converter.schemas.enable: true
    value.converter.schemas.enable: true
    config.storage.replication.factor: 3
    offset.storage.replication.factor: 3
    status.storage.replication.factor: 3
  # ...
Copy to Clipboard Toggle word wrap

这些值可以是以下 JSON 类型之一:

  • 字符串
  • Number
  • 布尔值

某些选项具有默认值:

  • group.id 带有默认值 connect-cluster
  • 带有默认值 connect-cluster-offsetsoffset.storage.topic
  • config.storage.topic 带有默认值 connect-cluster-configs
  • status.storage.topic 带有默认值 connect-cluster-status
  • key.converter 带有默认值 org.apache.kafka.connect.json.JsonConverter
  • value.converter,默认值为 org.apache.kafka.connect.json.JsonConverter

如果 KafkaConnect.spec.config 属性中不存在这些选项,则这些选项会被自动配置。

例外

您可以指定并配置 Apache Kafka 文档 中列出的选项。

但是,Apache Kafka 的流负责配置和管理与以下内容相关的选项,而这无法更改:

  • Kafka 集群 bootstrap 地址
  • 安全性(加密、身份验证和授权)
  • 侦听器和 REST 接口配置
  • 插件路径配置

无法设置具有以下前缀的属性:

  • bootstrap.servers
  • consumer.interceptor.classes
  • 监听器.
  • plugin.path
  • producer.interceptor.classes
  • REST。
  • SASL。
  • 安全性。
  • ssl.

如果 config 属性包含一个无法更改的选项,它将被忽略,并将警告信息记录到 Cluster Operator 日志文件。所有其他支持选项都转发到 Kafka Connect,包括对流为 Apache Kafka 配置的选项的以下例外:

重要

Cluster Operator 不会密钥或 config 对象中提供的值。如果提供了无效的配置,Kafka Connect 集群可能无法启动,或者可能会不稳定。在这种情况下,修复配置,以便 Cluster Operator 可将新配置部署到所有 Kafka Connect 节点。

76.1. 日志记录

Kafka Connect 具有自己的可配置的日志记录器:

  • connect.root.logger.level
  • log4j.logger.org.reflections

根据运行的 Kafka Connect 插件,添加了更多日志记录器。

使用 curl 请求从任何 Kafka 代理 pod 获取运行 Kafka Connect 日志记录器的完整列表:

curl -s http://<connect-cluster-name>-connect-api:8083/admin/loggers/
Copy to Clipboard Toggle word wrap

Kafka Connect 使用 Apache log4j 日志记录器实现。

使用 logging 属性配置日志记录器和日志记录器级别。

您可以通过直接指定日志记录器和级别(在线)或使用自定义(外部) ConfigMap 来设置日志级别。如果使用 ConfigMap,您可以将 logging.valueFrom.configMapKeyRef.name 属性设置为包含外部日志记录配置的 ConfigMap 的名称。在 ConfigMap 中,日志记录配置使用 log4j.properties 描述。logging.valueFrom.configMapKeyRef.namelogging.valueFrom.configMapKeyRef.key 属性都是强制的。使用指定的确切日志记录配置的 ConfigMap 会在 Cluster Operator 运行时使用自定义资源创建,然后在每次协调后重新创建。如果没有指定自定义 ConfigMap,则使用默认日志记录设置。如果没有设置特定的日志记录器值,则会为该日志记录器继承上级日志记录器设置。有关日志级别的更多信息,请参阅 Apache 日志记录服务

在这里,我们看到 内联外部日志记录 的示例。inline 日志记录指定根日志记录器级别。您还可以通过将特定类或日志记录器添加到 loggers 属性来设置日志级别。

内联日志记录

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
spec:
  # ...
  logging:
    type: inline
    loggers:
      connect.root.logger.level: INFO
      log4j.logger.org.apache.kafka.connect.runtime.WorkerSourceTask: TRACE
      log4j.logger.org.apache.kafka.connect.runtime.WorkerSinkTask: DEBUG
  # ...
Copy to Clipboard Toggle word wrap

注意

将日志级别设置为 DEBUG 可能会导致大量日志输出,并可能会影响性能。

外部日志记录

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
spec:
  # ...
  logging:
    type: external
    valueFrom:
      configMapKeyRef:
        name: customConfigMap
        key: connect-logging.log4j
  # ...
Copy to Clipboard Toggle word wrap

任何未配置的可用日志记录器将其级别设置为 OFF

如果使用 Cluster Operator 部署 Kafka Connect,则动态应用对 Kafka Connect 日志记录级别的更改。

如果使用外部日志记录,则会在日志附加程序更改时触发滚动更新。

垃圾收集器(GC)

垃圾回收收集器日志记录也可以使用 jvmOptions 属性启用 (或禁用)。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat