【问题标题】:Flink: Reading from Kinesis causes ReadProvisionedThroughputExceededFlink:从 Kinesis 读取导致 ReadProvisionedThroughputExceeded
【发布时间】:2021-08-09 18:16:33
【问题描述】:

我有一个带有 Kinesis 源的 Flink 应用程序。在运行 Flink 应用程序时,我看到很多来自 AWS 的 ReadProvisionedThroughputExceeded 错误。我尝试使用不同的设置更新消费者配置,以减少获取记录调用的数量并增加调用之间的时间,但这似乎没有帮助:

    consumerConfig.put(ConsumerConfigConstants.SHARD_GETRECORDS_MAX, "500")
    consumerConfig.put(ConsumerConfigConstants.SHARD_GETRECORDS_INTERVAL_MILLIS, "30000")

    consumerConfig.put(ConsumerConfigConstants.SHARD_GETRECORDS_BACKOFF_BASE, "3000")
    consumerConfig.put(ConsumerConfigConstants.SHARD_GETRECORDS_BACKOFF_MAX, "10000")

还有其他我应该调整的设置吗?谢谢!

【问题讨论】:

    标签: apache-flink amazon-kinesis


    【解决方案1】:

    尝试进行以下检查:

    • 检查 Kinesis 监视器以获取超出限制的指标:记录数或每次轮询的所有记录的字节总和。
    • 有竞争力的消费者。是否有其他消费者从同一个分片中读取?如果未启用增强型扇出,则它们将共享相同的吞吐量。

    启用增强扇出(https://ci.apache.org/projects/flink/flink-docs-release-1.13/docs/connectors/datastream/kinesis/#using-enhanced-fan-out) 是一个潜在的解决方案。

    【讨论】:

    • 感谢这是一个可能的解决方案,但经过更多调查发现这是一个与我正在使用的 Flink 版本相关的错误,1.12
    【解决方案2】:

    原来这是一个错误:https://issues.apache.org/jira/browse/FLINK-21661 在我正在使用的版本中 - Flink 1.12

    【讨论】:

      猜你喜欢
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多