我正在使用Pentaho CE的Kafka Consumer Plugin,感谢您对其使用的帮助。我想知道你们中是否有人遇到过pentaho失败而且你丢失了任何消息(基于那里的官方文档,没有办法再读两次消息,我错了吗?)。如果出现这种情况,您如何捕获这些消息以便重新处理它们?
参考:
答案 0 :(得分:0)
Kafka保留已配置保留期的消息,无论消费是否已被消费,因此消费者可以返回之前处理的偏移量并再次接收。
我自己没有使用过Kafka插件,但看起来您可以禁用自动提交并自行管理。您可能需要Apache提供的Kafka系统工具以及作业中的一些命令行步骤。您必须在开始时获取当前偏移量,从您使用的消息中获取最后一个偏移量,如果作业/批次达到结束,则将最后一个偏移量提交给群集。
可能你也可以将起始偏移量作为字段(消息密钥?)提供给插件,但我找不到任何关于它的文档。在这种情况下,您可以将偏移量与目标数据一起存储,然后返回到每次运行开始时的最后一个偏移量。运行失败不会更新目标偏移量,因此不会丢失任何消息。
如果你走第二条路线,请注意auto.offset.reset设置和行为,因为如果目标中的最后一个偏移量已超过保留期,则可能会从群集中消失。< / p>