卡夫卡 - 星火直接流故障转移

问题描述:

我们有一个简单的火花流媒体应用,通过火花流从卡夫卡事件,并持续到Redis的这一点。卡夫卡 - 星火直接流故障转移

最初我们使用Receiver-based Approach,它复制分批进入HDFS,之后开始处理。这种方法并不像我们所希望的那样稳定(我们的hadoop机器上很多流量),所以我们在火花流内切换到Direct Approach (No Receivers)

令我困惑的是auto.offset.reset参数在文档中提到。当一份工作失败或者火花管理员失败时,我们会看到流程工作通过处理大量事件并随后稳定加班而迎头赶上。

第二种方法我们不再看到这种行为,我们不确定火花流是否真的赶上或刚开始auto.offset.resetlatest

latest用于故障切换一个合理的默认,并做了数据流作业,真正正确地赶上上重启/主失败?

感谢, 缪奇

时没有初始的动物园管理员或者如果 偏移偏移做的是超出范围:

  • 最小:自动复位偏移到最小偏移
  • 最大:自动复位偏移量最大偏移
  • 别的:抛出异常给消费者。如果设置为最大,那么在其订阅的主题的 分区的数量在代理上发生变化时,消费者可能会丢失一些消息。为了 防止数据丢失的分区添加过程中,设置auto.offset.reset到 最小

这个选项只发生当您运行工作第一次 或当一些消息到期,最后提交的偏移您的消费者不再存在。

所以,最小的是最好,如果你不希望丢失数据。如果您在数据到期时间内重新启动作业,则此选项不会影响您的故障转移/重启