Flink HA

目录

[Flink HA集群规划](#Flink HA集群规划)

环境变量配置

masters配置

flink-conf.yaml配置

测试


FLink HA集群规划如下:

|-----------------|------------|---------------|----------------|
| IP地址 | 主机名称 | Flink角色 | ZooKeeper角色 |
| 192.168.128.111 | bigdata111 | master | QuorumPeerMain |
| 192.168.128.112 | bigdata112 | worker、master | QuorumPeerMain |
| 192.168.128.113 | bigdata113 | worker | QuorumPeerMain |

bigdata111和bigdata112作为master节点,也就是实现JobManager的高可用。bigdata112和bigdata113作为worker节点,作为TaskManager节点。Flink HA集群使用ZooKeeper和HDFS实现。所以需要ZooKeeper集群和HDFS集群。假设已经部署好了ZooKeeper集群和HDFS集群。


环境变量配置

执行如下命令,打开配置文件

复制代码
 vi /etc/profile

在文件末尾添加如下配置内容:

复制代码
export HADOOP_CLASSPATH=`hadoop classpath`

执行如下命令,生效配置文件:

复制代码
source /etc/profile

三台服务器同时配置。


masters配置

进去Flink安装目录下的conf目录,如图:

masters配置文件内容改为:

复制代码
bigdata111:8081
bigdata112:8081

将该配置同步到其他服务器,保持三台服务器相同配置。

复制代码
scp -r masters bigdata112:`pwd`
scp -r masters bigdata113:`pwd`

复制成功后,如图:

进入Flink安装目录下的conf目录,如图:

打开配置文件,Flink HA的默认配置如下:

将HA配置修改为如下内容:

复制代码
# The high-availability mode. Possible options are 'NONE' or 'zookeeper'.
#
high-availability: zookeeper

# The path where metadata for master recovery is persisted. While ZooKeeper stores
# the small ground truth for checkpoint and leader election, this location stores
# the larger objects, like persisted dataflow graphs.
#
# Must be a durable file system that is accessible from all nodes
# (like HDFS, S3, Ceph, nfs, ...)
#
high-availability.storageDir: hdfs:///flink/ha/

# The list of ZooKeeper quorum peers that coordinate the high-availability
# setup. This must be a list of the form:
# "host1:clientPort,host2:clientPort,..." (default clientPort: 2181)
#
high-availability.zookeeper.quorum: bigdata111:2181,bigdata112:2181,bigdata113:2181


# ACL options are based on https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#sc_BuiltinACLSchemes
# It can be either "creator" (ZOO_CREATE_ALL_ACL) or "open" (ZOO_OPEN_ACL_UNSAFE)
# The default value is "open" and it can be changed to "creator" if ZK security is enabled
#
# high-availability.zookeeper.client.acl: open

将该配置文件同步到其他服务器,命令如下:

复制代码
scp -r flink-conf.yaml bigdata112:`pwd`
scp -r flink-conf.yaml bigdata113:`pwd`

同步成功后,如图:

测试

先后启动ZooKeeper集群、HDFS集群和flink集群,如图:

使用浏览器分别登录Flink web ui页面:

http://bigdata111:8081/#/overview

http://bigdata112:8081/#/overview

如图:

页面上无法区分哪个节点是active。HDFS上同时生成了HA的数据目录,如图:

下面从ZooKeeper中查看哪一个节点是active:

执行zkCli.sh命令连接ZooKeeper集群,最终查找到当前Flink中active JobManager是bigdata111。如图:

现在在bigdata111上运行flink应用程序,命令如下:

复制代码
flink run -c com.leboop.SocketStreamingWordCount /root/jars/flink-1.0-SNAPSHOT.jar --host bigdata111 --port 9999

运行成功后如图:

此时在bigdata111和bigdata112上的web ui上均可以看到相同的正在运行的任务,如图:

现在将bigdata111上的JobManager杀死,如图:

此时bigdata111无法打开web ui页面,如图:

可以打开bigdata112的web ui页面,如图:

再次执行zkCli.sh命令,连接到ZooKeeper集群,查看节点信息如下:

active JobManager节点已经切换到bigdata112。

相关推荐
大大大大晴天4 小时前
每天认识一个组件:数据治理Apache Atlas
大数据
数字新视界5 小时前
2026模块化机房选型指南:行业市场发展趋势、占有率与竞争梯队分析报告解析
大数据·人工智能·物联网·数据中心·微模块机房·模块化机房·冷通道
姜穆澜7 小时前
OneID 从 0 到 1 完整生产案例(四)
大数据
OsDepK7 小时前
项目快速Git至仓库(完整版)
大数据·git·elasticsearch·搜索引擎
合米AI SOP系统8 小时前
传统产线如何快速上马落地 AI 防错?合米科技 AI SOP 7天即可上线。
大数据·人工智能·科技
思录Echo8 小时前
什么决定具身智能的最终走向?多技术路线与落地现实辨析
大数据·人工智能
xiaohaiAIgeo8 小时前
【2026年】AI监控加行为分析守护实验室安全
大数据·人工智能·科普知识
林墨聊AIGC9 小时前
动漫AI视频创作工具在哪找到的?2026年最新动漫AI视频平台与软件指南
大数据·人工智能·ai作画·aigc·音视频
故七月10 小时前
告别 AI 时代品牌 “隐身”:万域智瞰 AI‑GEO,构建品牌大模型时代营销新基建
大数据·人工智能
数字孪生视频孪生11 小时前
三维实时重构异构底座 核工危化无感定位跨境轨迹一屏统揽
大数据·运维·人工智能·重构·架构