Apache Storm和kafka:如何获取kafka喷口的使用者对象,以便可以记录其偏移量?

时间:2018-07-22 18:31:02

标签: apache-kafka apache-storm

我使用的是Apache Storm-core 0.9.6(它很旧,由于遗留问题无法执行任何操作)KafkaSpout。如果我可以记录元组偏移量,那么对调试我面临的一些反序列化问题将非常有帮助。

到目前为止,我已经看到storm.kafka.KafkaUtils有2种方法:

public static long getOffset(SimpleConsumer consumer, String topic, int partition, KafkaConfig config) 
public static long getOffset(SimpleConsumer consumer, String topic, int partition, long startOffsetTime) 

其中第一个是第二个的包装。在我看来,我唯一不知道如何调用该函数的是consumer。我已经阅读了KafkaSpout代码,还无法弄清楚如何从中获取kafka用户。

1 个答案:

答案 0 :(得分:0)

如果签出Storm-kafka代码,则在获取消息https://github.com/apache/storm/blob/v0.9.6/external/storm-kafka/src/jvm/storm/kafka/PartitionManager.java#L162之后,可以执行所需的任何日志记录。您可以自己构建Storm-kafka的修改版,然后将构建工具指向自己的副本。