本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
排查 Amazon MSK Connect 的问题
以下信息可帮助您排查使用 MSK Connect 时可能存在的问题。您也可以将问题发布到 AWS re:Post
连接器无法访问公有互联网上托管的资源
请参阅为 Amazon MSK Connect 启用互联网访问。
连接器正在运行的任务数不等于 tasks.max 中指定的任务数量
以下是连接器使用的任务可能少于指定的 tasks.max 配置的一些原因:
某些连接器实现限制了可使用的任务数量。例如,适用于 MySQL 的 Debezium 连接器仅限于使用单个任务。
使用自动扩缩容量模式时,Amazon MSK Connect 会覆盖连接器的 tasks.max 属性,其值与连接器中运行的工作程序数量和每个工作程序的 MCU 数量成正比。
对于接收器连接器,并行度(任务数量)不能超过主题分区的数量。虽然您可以将 tasks.max 设置为大于该值,但单个分区一次只能由一个任务处理。
在 Kafka Connect 2.7.x 中,默认的使用器分区分配器是
RangeAssignor
。该分配器的行为是将每个主题的第一个分区分配给单个使用器,将每个主题的第二个分区分配给单个使用器,依此类推。这意味着,使用RangeAssignor
的接收器连接器的最大活动任务数等于正在消耗的任何单个主题中的最大分区数。如果这不适用于您的用例,则应创建一个工作程序配置,其中将consumer.partition.assignment.strategy
属性设置为更合适的使用器分区分配器。参见 Kafka 2.7 接口 ConsumerPartitionAssignor:所有已知的实现类。