Flink中JobMaster、ResourceManager、Dispatcher、WebMonitorEndpoint提供了基于zookeeper高可用,涉及到leader选举与监听, leader选举基于zookeeper开源客户端CuratorFramework 的LeaderLatch方式实现,监听则通过NodeCache实现。基于此Flink提供了zookeeper高可用ZooKeeperHaServices, 通过该工具类可以创建LeaderElectionService与LeaderRetrievalService,包含了对应与zookeeper的znode节点分别是
/resource_manager_lock
/dispatcher_lock
/job_manager_lock
/rest_server_lock
LeaderElectionService用于leader选举服务,基于zk的实现类是ZooKeeperLeaderElectionService,LeaderRetrievalService用于监听leader恢复服务,基于zk的实现类是ZooKeeperLeaderRetrievalService。
涉及到两个重要的角色&
本文深入探讨了Flink如何利用Zookeeper实现高可用,包括JobMaster的选举和TaskExecutor的监听机制。Flink的ZooKeeperHaServices提供了基于Zookeeper的选举和监听服务,如LeaderElectionService和LeaderRetrievalService,确保在leader变化时能平滑过渡。JobManagerRunner作为LeaderContender参与选举,而TaskExecutor通过监听JobMaster的leader变化来保持连接。
订阅专栏 解锁全文
1741

被折叠的 条评论
为什么被折叠?



