大佬教程收集整理的这篇文章主要介绍了任务管理器失败后的 Flink-RocksDB 行为,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在试验我的新 Flink 集群(3 台不同的机器-> 1 个作业管理器,2-> 任务管理器),使用 RocksDB 作为状态后端,但是我得到的检查点行为有点令人困惑。
更具体地说,我设计了一个简单的 WordCount 示例,我的数据源是 netcat。当我提交我的工作时,工作管理器将它分配给一个随机的任务管理器(也没有复制)。我提供了一些话,然后我杀死了当前正在运行的任务管理器。过了一会儿,作业在另一个任务管理器中重新启动,我可以提供一些新词。令人困惑的部分是,即使我杀死了第一个任务管理器,它的状态仍然保留。
据我了解,RocksDB 将其状态维护在正在运行的任务管理器的本地目录中,所以我期望的是当第一个任务管理器被杀死时会丢失整个状态并从头开始计算单词。那么 Flink 似乎以某种方式在内存中保持其状态(?)或通过 JobManager 广播它?
我错过了什么吗?
RocksDB 状态后端确实在每个任务管理器的本地磁盘上保持其工作状态,而检查点通常存储在分布式文件系统中。
如果您启用了检查点,则备用任务管理器能够从最新的检查点恢复状态并继续处理。
以上是大佬教程为你收集整理的任务管理器失败后的 Flink-RocksDB 行为全部内容,希望文章能够帮你解决任务管理器失败后的 Flink-RocksDB 行为所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。