一、概述

JobGraphStore 可以存储 JobGraph,当集群宕机后,可以从 JobGraphStore 中恢复之前提交运行的 JobGraph,保证提交到集群运行的作业能够恢复正常。

在 Session 集群模式下,当集群开启高可用后,会通过 HighAvallabilityServices 服务为 Session 集群创建 JobGraphStore。JobGraphStore 可以存储提交的 JobGraph 信息,当集群宕机后,可以 JobGraphStore 中恢复之前提交的 JobGraph,从而保证提交到集群上的作业恢复正常。

JobGraphStore

二、实现

JobGraphStore 的主要实现有 SingleJobGraphStore、StandaloneJobGraphStore 和 ZookeeperJobGraphStore 三种类型,只有ZooKeeperJobGraphStore 可以提供 JobGraph 的持久化和恢复操作,另外两种都是非高可用类型。

ZooKeeperJobGraphStore

JobGraphStore 实现了 JobGraphListener 接口,完成对 JobGraphStore 增加或删除 JobGraph 的监听操作,当 JobGraphStore 中的 JobGraph 发生变化时,通知 SessionDispatcherLeaderProcess 根据需要启动或停止 JobGraph 对应的作业。

三、JobGraphStore 创建与启动

在启动 Dispatcher 的过程中,会调用 new HaServicesJobGraphStoreFactory(highAvailabilityServices) 方法创建
HaServicesJobGraphStoreFactory,并基于 HaServicesJobGraphStoreFactory 创建 DispatcherLeaderProcess
使用的 JobGraphStore 实例

四、JobGraph 恢复

当集群宕机或者重启后,需要恢复之前在集群上已经运行的作业,这种情況就需要借助 JobGraphStore 恢复已经持久化的作业。如果 Session 集群开启了高可用,此时就能将 JobGraph 从 JobGraphStore 中恢复出来并运行。

五、总结

5.1. refer

  1. https://blog.csdn.net/qq_36299025/article/details/128429963