【问题标题】:nifi - consumekafka processor doesn't preserve order - fetched records without any ordernifi - consumekafka 处理器不保留订单 - 获取的记录没有任何订单
【发布时间】:2021-12-30 18:24:00
【问题描述】:

我有简单的测试设置,在性能测试期间,我注意到 nifi 以尴尬的方式从 kafka 读取记录,它不保留顺序。我已经将consumekafka_20处理器连接到logmessage,如下面的屏幕所示

两个处理器都配置为只使用一个并发任务,但日志消息显示消息

2021-12-30 17:10:44,612 INFO nifi-0 [Timer-Driven Process Thread-4] o.a.nifi.processors.standard.LogMessage LogMessage[id=0c0931ad-017e-1000-ebfe-53193c54a8b8] caa6dcba-8d44-44be-b7c8-e9ea95481a1c -  - record read from kafka - 71b72dcb-8e31-488c-9fa4-bbeda6494014 - kafka timestamp: 1640884241030 - kafkadebug - offset: 10057 partition: 8
2021-12-30 17:10:47,132 INFO nifi-0 [Timer-Driven Process Thread-4] o.a.nifi.processors.standard.LogMessage LogMessage[id=0c0931ad-017e-1000-ebfe-53193c54a8b8] 90c3cc6f-1142-4aa7-953e-8fa8810877c2 -  - record read from kafka - 71b72dcb-8e31-488c-9fa4-bbeda6494014 - kafka timestamp: 1640884239426 - kafkadebug - offset: 9985 partition: 8

如您所见,第二个偏移量 (9985) 远远早于第一个偏移量 (10057) 有人知道为什么会这样吗? ConsumeKafka_2.0 配置如下:

我正在尝试使用Max poll records 设置,但这并不能解决问题。

【问题讨论】:

    标签: apache-kafka apache-nifi


    【解决方案1】:

    Kafka根据this cloudera blog post提供分区内排序

    尝试在ConsumeKafkaLogMessage 之间的Queue 上选择FirstInFirstOutPrioritizer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-02
      • 2017-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      • 2021-11-16
      • 1970-01-01
      相关资源
      最近更新 更多