排查 Amazon MSK Connect 中的问题 - Amazon Managed Streaming for Apache Kafka
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

排查 Amazon MSK Connect 中的问题

以下信息可帮助您排查使用 MSK Connect 时可能存在的问题。您也可以将问题发布到 Amazon Web Services re:Post

连接器无法访问公有互联网上托管的资源

请参阅为 Amazon MSK Connect 启用互联网访问

连接器正在运行的任务数不等于 tasks.max 中指定的任务数量

以下是连接器使用的任务可能少于指定的 tasks.max 配置的一些原因:

  • 某些连接器实现限制了可使用的任务数量。例如,适用于 MySQL 的 Debezium 连接器仅限于使用单个任务。

  • 使用自动扩展容量模式时,Amazon MSK Connect 会覆盖连接器的 tasks.max 属性,其值与连接器中运行的工作器数量和每个工作线程的数量成正比。 MCUs

  • 对于接收器连接器,并行度(任务数量)不能超过主题分区的数量。虽然您可以将 tasks.max 设置为大于该值,但单个分区一次只能由一个任务处理。

  • 在 Kafka Connect 2.7.x 中,默认的使用器分区分配器是 RangeAssignor。该分配器的行为是将每个主题的第一个分区分配给单个使用器,将每个主题的第二个分区分配给单个使用器,依此类推。这意味着,使用 RangeAssignor 的接收器连接器的最大活动任务数等于正在消耗的任何单个主题中的最大分区数。如果这不适用于您的用例,则应创建一个工作程序配置,其中将 consumer.partition.assignment.strategy 属性设置为更合适的使用器分区分配器。参见 Kafka 2.7 接口 ConsumerPartitionAssignor:所有已知的实现类