如果检查点失败,Flink管道是否会失败?

时间:2017-10-04 21:04:04

标签: flink-streaming

据我所知,应忽略检查点故障,并在可能更大的状态下重试。我有这种情况

  • hdfs进入名为节点问题的b'coz安全模式
  • 抛出异常

    org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException):状态待机状态下不支持操作类别WRITE。访问https://s.apache.org/sbnn-error ..................

    at org.apache.flink.runtime.fs.hdfs.HadoopFileSystem.mkdirs(HadoopFileSystem.java:453)     在org.apache.flink.core.fs.SafetyNetWrapperFileSystem.mkdirs(SafetyNetWrapperFileSystem.java:111)     at org.apache.flink.runtime.state.filesystem.FsCheckpointStreamFactory.createBasePath(FsCheckpointStreamFactory.java:132)

  • 在hdfs问题解决后,管道在重启和检查点失败后返回。

我不会担心重启,但显然我失去了操作员状态。要么是我的卡夫卡消费者继续推进它在开始和下一个检查点失败之间的偏移(一分钟的价值),或者那个有部分聚合的运营商丢失了。我有一个关键操作员的15分钟计数窗口

我正在使用ROCKS DB,当然也开启了检查点。

因此问题是

  • 如果检查点失败,是否应该重新启动管道?
  • 为什么重启时操作员状态没有重新创建?
  • 抛出异常的性质是否与此b'coz中的任何一个暂停并从预期点恢复工作按预期进行?
  • 虽然我很确定,运算符就像Window运算符是drfault的状态,因此如果我有timeWindow(Time.of(window_size,TimeUnit.MINUTES))。reduce(new ReduceFunction(),new WindowFunction()) ,州是由flink管理的?

1 个答案:

答案 0 :(得分:1)

这取决于您的程序风格。 假设从检查点函数获得构造后。您的程序可能正在运行。

如果你的写作程序没有检查点的构造,它不会影响你的pip衬里。

进一步澄清

https://ci.apache.org/projects/flink/flink-docs-release-1.3/internals/stream_checkpointing.html