Apache flink Flink中的检查点无法使用CoFlatMapFunction
您好,我正在尝试在我的flink模块中的一个模块中进行检查点设置,在该模块中,如果我注释掉,我将使用CoFlatMapFunction组合到流中。如果再次取消注释,则CoFlatMapFunction检查点设置有效。它不起作用。我在flink网站中更新了检查点,其中说,对于迭代流,添加了一个额外的属性来强制执行检查点事件。这样做之后,检查点也不起作用。请在下面查找检查点设置Apache flink Flink中的检查点无法使用CoFlatMapFunction,apache-flink,flink-streaming,flink-cep,flink-sql,Apache Flink,Flink Streaming,Flink Cep,Flink Sql,您好,我正在尝试在我的flink模块中的一个模块中进行检查点设置,在该模块中,如果我注释掉,我将使用CoFlatMapFunction组合到流中。如果再次取消注释,则CoFlatMapFunction检查点设置有效。它不起作用。我在flink网站中更新了检查点,其中说,对于迭代流,添加了一个额外的属性来强制执行检查点事件。这样做之后,检查点也不起作用。请在下面查找检查点设置 StateBackend stateBackend = new RocksDBStateBackend(path, tru
StateBackend stateBackend = new RocksDBStateBackend(path, true);
//env.enableCheckpointing(interval, CheckpointingMode.EXACTLY_ONCE);
env.enableCheckpointing(interval,CheckpointingMode.EXACTLY_ONCE,true);
env.getCheckpointConfig().setMinPauseBetweenCheckpoints(1000);
env.getCheckpointConfig().setCheckpointTimeout(120000);
env.getCheckpointConfig().setMaxConcurrentCheckpoints(2);
env.getCheckpointConfig().enableExternalizedCheckpoints(CheckpointConfig.ExternalizedCheckpointCleanup.RETAIN_ON_CANCELLATION);
env.getCheckpointConfig().setPreferCheckpointForRecovery(true);
env.setStateBackend(stateBackend);
我可以在上看到任务状态已完成,但无法查看日志,因为
我认为原因是:只有在所有操作员/任务仍在运行时,检查点才起作用
您应该将从集合中注入某些数据的源替换为其他源,这些源不会立即过渡到完成,可能是一个自定义源,在源耗尽要发出的数据后保持其活动状态,但是什么也不做。我认为原因是:只有在所有操作员/任务仍在运行时,检查点才起作用
您应该将从集合中注入某些数据的源替换为其他源,这些源不会立即过渡到完成,可能是一个自定义源,在数据耗尽时保持源活动,但不执行任何操作。您所说的“不工作”是什么意思?你是怎么下决心的?你能分享一个可复制的例子吗?请提供详细信息-什么版本的Flink,你所说的“不工作”到底是什么意思,以及你的工作流拓扑结构是什么样子的(CoFlatMapFunction不会创建迭代,所以你不必强制检查点)。@DavidAnderson谢谢你的回答,我的意思是“不工作”我没有看到检查点文件没有在检查点位置创建,很抱歉,我无法提供代码库,但我在flink dashboard中观察到的是“源代码收集任务”完成的任务之一。我正在将仪表板图像附加到问题“不工作”是什么意思?你是怎么下决心的?你能分享一个可复制的例子吗?请提供详细信息-什么版本的Flink,你所说的“不工作”到底是什么意思,以及你的工作流拓扑结构是什么样子的(CoFlatMapFunction不会创建迭代,所以你不必强制检查点)。@DavidAnderson谢谢你的回答,我的意思是“不工作”我没有看到检查点文件没有在检查点位置创建,很抱歉,我无法提供代码库,但我在flink dashboard中观察到的是“源代码收集任务”任务之一完成后,我正在将仪表板图像附加到问题上,收到了,我添加了一个源函数,它解决了我的问题,完成了,我添加了一个源函数,它解决了我的问题