我正在寻找一个容忍缺陷的流处理引擎。因此,我以简单的工作来测试Flink:Sockettextstreamwordcount示例,该示例读取文本插座的单词!我在一个独立的群集上使用3个任务管理器运行它,然后找到了负责任的任务管理器,用于从socket阅读!我杀死了任务曼格(Kill -9(,并确实等待了结果:大约30秒后,Jobmanger删除了死去的任务Manger!并分配为失败!
看来,容错的保证不是一般的事情,而取决于工作!我对吗?有没有可以解释的引用?
flink中的容错性取决于在失败时重新启动另一个任务的任务。您还需要启用检查点,并且为了确切保证端到端,您需要拥有支持重播的资源,而陷入了依据或交易。
但是,在您的情况下,首先可能是配置重新启动策略 - 请参阅此处的文档。
Flink文档的其他几个部分与此主题有关。一个好的起点是流式容忍度的部分。同样相关的是检查点,状态后端,容错保证和高可用性的部分。
数据工匠网站上有一篇博客文章,在通过检查点展示失败恢复方面做得很好。还提供随附的YouTube视频和GitHub回购。