在taskmanagers(tm)的ha上下文中,当tm发生故障时,jobmanager(jm)将从最新的故障检查点恢复一个新的检查点。
假设我们有3个tms( tm1, tm2, & tm3
)在特定的时间 t
每个人的检查点(cp)都在哪里 cp1
. 所有tms都在其中广播数据。
现在 tm2
下去了,吉咪带来了 tm2'
与 cp1
检查点作为ha的一部分。到…的时候 t+x
一个新的商标被提出,在其他人进步的同时 cp2
.
广播的数据是怎样的 tm1
以及 tm3
作为…的一部分 cp2
正在重播 tm2'
?
1条答案
按热度按时间bxgwgixi1#
检查点的内容由检查点屏障决定。一个给定的检查点包含了整个集群中所有人的效果,所有人都处理了所有事件,直到相应的关卡为止,没有一个关卡之后的事件。
在恢复过程中,整个集群将重置为最近检查点的内容,然后从该一致的起点恢复处理。
广播数据的检查点或多或少与其他数据一样,只是每个示例存储自己的广播数据副本——期望这些副本是相同的。在恢复期间,广播源被重绕到检查点中记录的点,并且广播状态也从检查点恢复。任何新示例(由于集群的扩展)都将获得广播状态的副本(通过读取其他示例的状态来获取)。
可能是在发生故障时,某些计算机已完成一个新的检查点,但除非每个tm都已完成该检查点,并且作业管理器已完成该检查点,否则检查点将不会用于恢复。