排查 Connect 集群和连接器问题

本文档提供了有关 Connect 集群和连接器的故障排查指南。

分离状态

Connect 集群可以处于 DETACHED 状态。此状态表示底层 Kafka 集群已被删除或正在被删除。由于 Kafka Connect 将所有状态存储在 Kafka 上,因此 Connect 集群会永久停止。无法重新附加 Connect 集群,因此应删除此集群。

每个集群的限制

如果单个 Connect 集群尝试管理过多的 Connect 任务,可能会变得无响应。为防止出现此问题,请注意以下限制:

  • 一个关联集群最多可以有 20 个连接器。
  • 一个连接器最多可以有 200 个任务。

如果您需要更多连接器,可以将第二个 Connect 集群附加到同一个 Kafka 集群。

排查连接器问题

如果连接器启动失败或在运行期间失败,则运行状态Failed。连接器在运行期间也可能会出现错误;这些错误会显示在连接器日志中。

如需排查连接器问题,请执行以下步骤。

  1. 查看连接器日志以确定错误。如需了解详情,请参阅查看连接器日志

  2. 确定错误的根本原因。以下主题介绍了每种连接器类型可能出现的具体错误:

  3. 如果连接器配置错误,请更新连接器的配置,然后恢复连接器。对于暂时性故障,可能无需对配置进行任何更改。

最佳做法是将连接器的任务重启政策设置为以指数退避算法重启。此设置有助于避免因暂时性错误而导致连接器故障。

Connect 集群错误

本部分介绍了在 Connect 集群中可能发生的错误。

元数据主题具有 'cleanup policy=delete'

Connect 集群日志显示类似于以下内容的错误:

org.apache.kafka.common.config.ConfigException: Topic 'connect-offsets-
PROJECT_ID-LOCATION-CONNECT_CLUSTER_NAME-UNIQUE_ID' supplied via the
'offset.storage.topic' property is required to have 'cleanup policy=compact' to
guarantee consistency and durability of source connector offsets, but found the
topic currently has 'cleanup policy=delete'.

出现此错误的原因可能如下:

  • Connect 集群的 Kafka 主集群已被删除,然后以相同的名称重新创建。
  • 删除了 Connect 集群在主 Kafka 集群中创建的元数据主题。

要解决此错误,请执行以下步骤:

  1. 在主 Kafka 集群中找到元数据主题。元数据主题的命名格式如下:

    connect-status-PROJECT_ID-LOCATION-CONNECT_CLUSTER_NAME-UNIQUE_ID

    例如:

    connect-status-project1-us-central1-connect1-3c563900-a4e4-4eDe-88f7-73b16d6344d2

  2. 对于每个元数据主题,请修改该主题,然后将键值对 cleanup.policy:compact 添加到非默认参数字段。如需了解详情,请参阅更新 Kafka 主题

后续步骤