声明:本系列博客为原创,最先发表在拉勾教育,其中一部分为免费阅读部分。被读者各种搬运至各大网站。所有其他的来源均为抄袭。
《2021年最新版大数据面试题全面开启更新》
如何实现生产环境中的Flink高可用
集群高可用(High Availability,HA)配置是大数据领域经典的一个问题。通常HA用来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。JobManager扮演的角色是集群管理者的角色,负责调度任务、协调Checkpoints、协调故障恢复、收集Job的状态信息,并管理Flink集群的从节点TaskManager。
在默认情况下,每个集群都只有一个JobManager实例,如果这个JobManager崩溃了,那么将会导致作业运行失败,并且无法提交新的任务。
因此,在生产环境中集群该如何配置达到高可用的目的呢?针对不同模式进行部署的集群,需要不同的配置。
源码分析
Flink中的JobManager、WebServer等组件都需要高可用保证,并且Flink还需要进行Checkpoint元数据的持久化操作。与Flink HA相关的类图如下。
HihgAvailabilityMode中定义了