1.Flink HA方案介绍每个Flink集群只有单个JobManager,存在单点失败的情况。Flink有YARN、Standalone和Local三种模式,其中YARN和Standalone是集群模式,Local是指单机模式。但Flink对于YARN模式和Standalone模式提供HA机制,使集群能够从失败中恢复。这里主要介绍YARN模式下的HA方案。 Flink支持HA模式和Job的异常恢复。这两项功能高度依赖ZooKeeper,在使用之前用户需要在“flink-conf.yaml”配置文件中配置ZooKeeper,配置ZooKeeper的参数如下:
YARN模式Flink的JobManager与YARN的Application Master(简称AM)是在同一个进程下。YARN的ResourceManager对AM有监控,当AM异常时,YARN会将AM重新启动,启动后,所有JobManager的元数据从HDFS恢复。但恢复期间,旧的业务不能运行,新的业务不能提交。ZooKeeper上还是存有JobManager的元数据,比如运行Job的信息,会提供给新的JobManager使用。对于TaskManager的失败,由JobManager上Akka的DeathWatch机制监听处理。当TaskManager失败后,重新向YARN申请容器,创建TaskManager。 Standalone模式对于Standalone模式的集群,可以启动多个JobManager,然后通过ZooKeeper选举出leader作为实际使用的JobManager。该模式下可以配置一个主JobManager(Leader JobManager)和多个备JobManager(Standby JobManager),这能够保证当主JobManager失败后,备的某个JobManager可以承担主的职责。如下图所示为主备JobManager的恢复过程。 TaskManager恢复对于TaskManager的失败,由JobManager上Akka的DeathWatch机制监听处理。当TaskManager失败后,由JobManager负责创建一个新TaskManager,并把业务迁移到新的TaskManager上。 JobManager恢复Flink的JobManager与YARN的Application Master(简称AM)是在同一个进程下。YARN的ResourceManager对AM有监控,当AM异常时,YARN会将AM重新启动,启动后,所有JobManager的元数据从HDFS恢复。但恢复期间,旧的业务不能运行,新的业务不能提交。 Job恢复Job的恢复必须在Flink的配置文件中配置重启策略。当前包含三种重启策略:fixed-delay、failure-rate和none。只有配置fixed-delay、failure-rate,job才可以恢复。另外,如果配置了重启策略为none,但job设置了Checkpoint,默认会将重启策略改为fixed-delay,且重试次数是配置项“restart-strategy.fixed-delay.attempts”配置为“Integer.MAX_VALUE”。
以下场景的异常,都会导致job重新恢复:
2.组件的关系Flink支持基于YARN管理的集群模式,在该模式下,Flink作为YARN上的一个应用,提交到YARN上执行。Flink基于YARN的集群部署如下图所示。 Flink基于YARN的集群部署
|
原文地址:https://blog.csdn.net/weixin_43114209/article/details/131676607
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://www.msipo.com/article-124.html 如若内容造成侵权/违法违规/事实不符,请联系MSIPO邮箱:3448751423@qq.com进行投诉反馈,一经查实,立即删除!
Copyright © 2024, msipo.com