代码之家  ›  专栏  ›  技术社区  ›  Luca Tampellini

卡夫卡流-一对二不工作-错误的分区分配

  •  1
  • Luca Tampellini  · 技术社区  · 7 年前

    这两个流的启动都是正确的,但是其中一个流总是以基于时间的顺序创建的第二个流,不会进行任何更改:我的意思是,它不会消耗任何来自开始主题的内容。

    2018-09-26 11:36:59,963 [INFO ] [] [StreamThread-2] [o.a.k.c.c.i.ConsumerCoordinator] - Setting newly assigned partitions [] for group Union
    2018-09-26 11:36:59,963 [INFO ] [] [StreamThread-1] [o.a.k.c.c.i.ConsumerCoordinator] - Setting newly assigned partitions [betgenius.integralfeed.live-0] for group Union
    

    正如您在上面的日志部分所看到的,与livefeed相关联的StreamThread-1获得了映射到正确源主题的分区的正确分配;StreamThread-2在本例中与预匹配提要相关联,它似乎接收到一个空源主题的分区分配,实际上是一个不运行的主题。

    如果我人为地强制在活动流之前创建预匹配流,情况就相反了。

    用于创建这两个流的代码完全相同,我只是更改了开始主题和结束主题。

    有没有可能我的卡夫卡配置没有足够的资源?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Vasyl Sarzhynskyi    7 年前

    根据提供的日志,似乎您使用相同的groupId Union 对于两个卡夫卡流,但是它们对于每个流都应该是唯一的。因此,请确保为“设置”属性提供了不同的值 application.id .

    应用程序id -流处理应用程序的标识符在Kafka集群中必须是唯一的。