Flink生产---13生产环境中的 Flink 高可用配置

概述:事实上,集群的高可用(High Availablility,以下简称 HA)配置是大数据领域经典的一个问题。通常 HA 用来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。06中:简单地介绍了 HA 配置。03中:提到过 Flink 集群中的角色:JobManager:集群管理者的角色:负责任务调度,协调Checkpoints、协调故障恢复、收集Job的状态信息、管理Flink集群中从节点的TaskManager。其他的一些角色详看03.在默认的情况下,我们的每个
摘要由CSDN通过智能技术生成

概述:
事实上,集群的高可用(High Availablility,以下简称 HA)配置是大数据领域经典的一个问题。
通常 HA 用来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
06中:简单地介绍了 HA 配置。
03中:提到过 Flink 集群中的角色:
JobManager:集群管理者的角色:负责任务调度,协调Checkpoints、协调故障恢复、收集Job的状态信息、管理Flink集群中从节点的TaskManager。
其他的一些角色详看03.
在默认的情况下,我们的每个集群都只有一个 JobManager 实例,假如这个 JobManager 崩溃了,那么将会导致我们的作业运行失败,并且无法提交新的任务。
因此,在生产环境中我们的集群针对不同模式进行部署的集群,我们需要不同的配置。

首先我们看一下源码:
Flink 中的 JobManager、WebServer 等组件都需要高可用保障,并且 Flink 还需要进行 Checkpoint 元数据的持久化操作。与 Flink HA 相关的类图如下图所示,我们跟随源码简单看一下 Flink HA 的实现。

HighAvailabilityMode 类中定义了三种高可用性模式枚举
NONE:非 HA 模式
ZOOKEEPER:基于 ZK 实现 HA
FACTORY_CLASS:自定义 HA 工厂类,该类需要实现 HighAvailabilityServicesFactory 接口

HighAvailabilityServicesUtils
创建 HighAvailabilityServices 的实例方法如下:

	public static HighAvailabilityServices createHighAvailabilityServices(

		Configuration configuration,

		Executor executor,

		AddressResolution addressResolution) throws Exception {
   

		HighAvailabilityMode highAvailabilityMode = LeaderRetrievalUtils.getRecoveryMode(configuration);

		switch (highAvailabilityMode) {
   

			case NONE:

				// 省略部分代码

				// 返回非HA服务类实例

				return new StandaloneHaServices(

					resourceManagerRpcUrl,

					dispatcherRpcUrl,

					jobManagerRpcUrl,

					String
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值