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。

相关推荐
城事漫游Molly1 分钟前
AI与质性研究的融合(三):AI赋能质性数据分析——从编码到理论构建的新范式
大数据·人工智能·机器学习·prompt·ai for science·智能体·定性研究
jiayong2325 分钟前
海量数据常见面试问题及详细解答
大数据·面试·职场和发展
Aloudata33 分钟前
AI 黑盒生成 vs 原子语义组合:企业指标生产路径深度对比
大数据·人工智能·数据分析·指标平台·语义层
zhojiew1 小时前
在中国区Amazon Redshift端到端实践包括数仓、数据湖、权限与共享等
大数据
Omics Pro1 小时前
基因泰克:检测级虚拟细胞基准!大语言模型+智能体
大数据·数据库·人工智能·机器学习·语言模型·自然语言处理·r语言
Quincy_Freak1 小时前
工具分享|基于 SQLiteGo 的国产系统离线数据处理方案
大数据·数据库·数据分析·arm·国产系统·银河麒麟·aarch64
爱笑的源码基地1 小时前
智慧班牌源码:从后端SpringBoot到前端Vue2的全栈实现
java·大数据·云计算·源码·程序代码·智慧校园源码·智慧班牌源码
人工智能培训2 小时前
数字孪生赋能建筑行业 解锁工程全周期智慧管理
大数据·人工智能·机器学习·prompt·agent
计算机安禾2 小时前
【算法分析与设计】第21篇:回溯法的状态空间树与剪枝函数设计
大数据·人工智能·算法·机器学习·数据挖掘·剪枝
captain_AIouo2 小时前
攻克行业技术痛点,GPT Image2重塑电商AI生图标准
大数据·人工智能·经验分享·gpt·aigc