Flink Jobmanager HA配置(standalone)

本文详细介绍了如何配置Flink的JobManager高可用性(HA),在standalone模式下利用Zookeeper实现1主多从的设置。内容包括Zookeeper配置、Flink配置文件修改、master文件编辑以及fail over测试,确保在JobManager故障时能自动切换到备用节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简介

当Flink程序运行时,如果jobmanager崩溃,那么整个程序都会失败。为了防止jobmanager的单点故障,借助于zookeeper的协调机制,可以实现jobmanager的HA配置—-1主(leader)多从(standby)。

这里的HA配置只涉及standalone模式,yarn模式暂不考虑。
Flink版本: 1.1.2
Hadoop版本: 2.6.0

例如,有3个jobmanager,其HA情况如下:
standalone HA

2、standalone HA的配置

由于jobmanager的HA配置依赖于zookeeper,因此,需要先配置zookeeper,可以参考我之前的文章:
zookeeper集群配置
而且,由于Flink的state backend要依赖hdfs,因此假设Hadoop集群也已经配置完成,可参考这里

下面开始配置jobmanager的HA:
(1)flink配置文件:conf/flink-conf.yaml

#jobmanager.rpc.address: flink

HA模式下,jobmanager不需要指定,在master file中配置,由zookeeper选出leader与standby。

#==============================================================================
# Streaming state checkpointing
#========================&#
### Flink 本地模式、Standalone 模式以及 Standalone HA 搭建指南 #### 一、Flink 本地模式搭建 **简介**: Flink 的本地模式允许你在单台机器上运行 Flink 程序,适用于开发和测试环境。它不需要集群配置,直接在 JVM 中启动。 **步骤**: 1. **安装 Java 和 Maven**:确保已安装 JDK,并设置好 `JAVA_HOME` 环境变量。 2. **下载并解压 Flink**:从 [官方下载页面](https://flink.apache.org/downloads.html) 下载最新版本的二进制包,并将其解压缩到指定目录。 3. **修改配置文件 (可选)**:如果你需要调整默认配置,可以编辑 `${FLINK_HOME}/conf/flink-conf.yaml` 文件。 4. **启动本地会话**: - 进入 Flink 目录,在命令行中输入 `./bin/start-cluster.sh` 启动本地集群。 5. **验证安装成功**:访问 Web UI (`http://localhost:8081`) 查看集群状态,默认端口为 8081。 #### 二、Flink Standalone 模式搭建 **简介**: Flink 提供了独立部署的方式,即无需依赖 YARN 或 Kubernetes 等资源管理框架即可单独构建分布式计算平台。此方式适合小型生产场景下的快速部署。 **步骤**: 1. **准备多台服务器节点**, 配置免密 SSH 登录以便于后续操作自动化; 2. **分发软件包及配置同步**: 将之前下载好的 flink 安装包复制到所有目标主机相应位置;同时保持各个节点间的时间一致性(通过 NTP 实现),并将公共部分如 `masters`, `slaves` 列表信息写入每台 server 上相同的路径下; 3. **编辑主配置文件**`${FLINK_HOME}/conf/flink-conf.yaml` - 设置 jobmanager.rpc.address 属性为你选定作为 master 节点 IP 地址; - 根据实际硬件条件适当调整 taskManager.numberOfTaskSlots 参数值等其他必要项. 4. **初始化 ZooKeeper**(如果需要高可用特性的话),并在 zk 中创建根 namespace `/flink`; 5. **分别依次启动各组件** - Master Node 执行 ./bin/jobmanager.sh start cluster ; - Slave Nodes 分别执行 ./bin/taskmanager.sh start ; 6. 测试整个架构是否正常工作. #### 三、Flink Standalone High Availability(HA) 模式搭建 为了保证系统的稳定性和容错能力,Flink 支持基于第三方存储系统(ZooKeeper/Consul/Etcd...)实现 JobManager failover 及 metadata persistence 功能, 其中 zookeeper 方案最为常用. ##### 基本原理: 当启用HA功能后,Flink会将JobGraph保存至Zookeeper中形成快照;一旦当前活跃JM发生故障,则新的JM可以从zk拉取数据恢复作业继续执行而不会丢失进度。 ##### 主要更改点包括但不限于以下几个方面 : - 更新 ${FLINK_HOME}/conf/flink-conf.yaml 添加下面几条记录开启ha支持并指明类型(zk): ```yaml high-availability: zookeeper high-availability.zookeeper.quorum=localhost:2181 #替换为真实地址串 ``` - 如果采用外部托管形式则还需额外指定 leader-election-service & checkpoint-storage path 对应key-value对儿; 最后参照standalone流程完成其余环节直至服务上线前的各项检查确认无误方可投入使用. ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值