我正在寻找一个容错的流处理引擎。出于这个原因,我用一个简单的工作来测试 Flink:从文本套接字读取单词的 SocketTextStreamWordCount 示例!我在一个有 3 个任务管理器的独立集群上运行它,我找到了负责从套接字读取的任务管理器!我杀死了 TaskManger (kill -9) 并等待查看结果:大约 30 秒后,JobManger 删除了死的 TaskManger!并将工作分配为失败!
看来容错保证不是一般的东西,取决于Job!我对吗?有没有可以解释的参考资料?
Flink 中的容错不仅仅取决于在另一个任务管理器失败时重新启动任务。您还需要启用检查点,并且对于端到端的恰好一次保证,您需要拥有支持重放和幂等或事务的接收器的源。
但是,在您的情况下,首先开始的地方可能是配置重新启动策略 - 请参阅此处的文档。
Flink 文档的其他几个部分与此主题相关。一个很好的起点是流式容错部分。同样相关的还有关于检查点、状态后端、容错保证和高可用性的部分。
data Artisans 网站上有一篇博客文章,它在通过检查点展示故障恢复方面做得很好。还提供了随附的youtube 视频和github 存储库。
| 归档时间: |
|
| 查看次数: |
263 次 |
| 最近记录: |