通过spark流加载同一组的多个消费者时出现kafka异常

c9qzyr3d  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(260)

我使用kafka的createdirectstream从spark流应用程序创建消费者。当我加载我的消费者应用程序的一个示例时,它工作得很好,但是当我启动具有相同消费者组的第二个应用程序时,其中一个示例在几秒钟内出现异常: ...IllegalStateException: No current assignment for partition testTpc1-1 我的消费代码相当直截了当:

val stream = KafkaUtils.CreateDirectStream[String,String](
ssc,
PreferConsistent,
Subscribe[String,String](topics,kafkaParams)
)

我也有 enable.auto.commit 设置为 false 如何在一个kafka主题(带有分区)上运行同一消费者组的多个消费者?
Kafka0.10版spark 2.2版scala 2.11版
更新编辑:阅读这里的答案:Spark直接流-消费相同的消息在多个消费者我看到了 direct streaming 不支持同一组的多个使用者。我想我需要找到一个不同的解决办法。因此,我的下一个问题是-directstream是否提供了任何性能解决方案来弥补使用组中多个使用者的能力不足(即,执行相同的工作)?

jtw3ybtb

jtw3ybtb1#

spark的全部目的是允许您在不需要“手动”平衡负载的情况下并行执行数据。使用者组是为相反的情况而设计的—您通过向使用者组中添加新示例来“手动”缩放。
实际上,问题是关于spark应用程序的可伸缩性—您需要添加更多关于您正在执行的处理类型、您有哪些性能问题、主题中有多少分区等的详细信息。

相关问题