一、Kafka Connect的错误报告

  • Kafka Connect 提供错误报告来处理在处理的各个阶段遇到的错误。默认情况下,在转换期间或转换中遇到的任何错误都会导致连接器失败。每个连接器配置还可以通过跳过这些错误来容忍此类错误,可选择将每个错误以及失败操作的详细信息和有问题的记录(具有各种详细级别)写入 Connect 应用程序日志。
  • 要将连接器的转换器、转换或接收器连接器本身内的错误报告到日志,请在连接器配置中设置 errors.log.enable=true 以记录每个错误和问题记录的主题、分区和偏移量的详细信息。
  • 要将连接器的转换器、转换或接收器连接器本身内的错误报告给dead letter queue topic,请设置 errors.deadletterqueue.topic.name 和可选的errors.deadletterqueue.context.headers.enable=true。

二、连接器出现异常立即报错设置

默认情况下,连接器在出现错误或异常时立即表现出“快速失败”行为。这相当于将以下配置属性及其默认值添加到连接器配置中:

# disable retries on failure
errors.retry.timeout=0

# do not log the error and their contexts
errors.log.enable=false

# do not record errors in a dead letter queue topic
errors.deadletterqueue.topic.name=

# Fail on first error
errors.tolerance=none

三、kafka connect错误报告完整设置

  • 可以更改这些和其他相关的连接器配置属性以提供不同的行为。例如,可以将以下配置属性添加到连接器配置中,以设置多次重试的错误处理、记录到应用程序日志和 my-connector-errors Kafka 主题,并通过报告它们而不是使连接器任务失败来容忍所有错误:
# retry for at most 10 minutes times waiting up to 30 seconds between consecutive failures
errors.retry.timeout=600000
errors.retry.delay.max.ms=30000

# log error context along with application logs, but do not include configs and messages
errors.log.enable=true
errors.log.include.messages=false

# produce error context into the Kafka topic
errors.deadletterqueue.topic.name=my-connector-errors

# Tolerate all errors.
errors.tolerance=all
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐