当前位置: 代码迷 >> 综合 >> FlinkHA配置
  详细解决方案

FlinkHA配置

热度:16   发布时间:2023-09-18 17:14:21.0

操作步骤

说明

1

flink-conf.yaml中添加zookeeper配置

#开启HA,使用文件系统作为快照存储

state.backend: filesystem

#默认为none,用于指定checkpoint的data files和meta data存储的目录

state.checkpoints.dir: hdfs://node01:8020/flink-checkpoints

#默认为none,用于指定savepoints的默认目录

state.savepoints.dir: hdfs://node01:8020/flink-checkpoints

#使用zookeeper搭建高可用

high-availability: zookeeper

# 存储JobManager的元数据到HDFS,用来恢复JobManager 所需的所有元数据

high-availability.storageDir: hdfs://node01:8020/flink/ha/

high-availability.zookeeper.quorum: node01:2181,node02:2181,node03:2181

# blob存储文件是在群集中分发Flink作业所必需的

blob.storage.directory: /export/servers/flink-1.13.1/tmp

2

将配置过的HA的 flink-conf.yaml 分发到另外两个节点

for i in { 2..3}; do scp -r /export/servers/flink-1.13.1/conf/flink-conf.yaml node0$i:$PWD; done

3

到节点2中修改flink-conf.yaml中的配置,将JobManager设置为自己节点的名称

jobmanager.rpc.address: node02

4

在 masters 配置文件中添加多个节点

node01:8081

node02:8081

5

分发masters配置文件到另外两个节点

scp /export/servers/flink-1.13.1/conf/masters node03:/export/servers/flink-1.13.1/conf/

scp /export/servers/flink-1.13.1/conf/masters node02:/export/servers/flink-1.13.1/conf/

6

启动 zookeeper 集群

[root@node01 servers]# zkServer.sh start

[root@node02 servers]# zkServer.sh start

[root@node03 servers]# zkServer.sh start

7

启动 HDFS 集群

8

启动 flink 集群

[root@node01 flink-1.13.1]# bin/start-cluster.sh

Starting HA cluster with 2 masters.

Starting standalonesession daemon on host node01.

Starting standalonesession daemon on host node02.

Starting taskexecutor daemon on host node01.

Starting taskexecutor daemon on host node02.

Starting taskexecutor daemon on host node03.

9

分别查看两个节点的Flink Web UI

10

kill掉一个节点,查看另外的一个节点的Web UI

注意事项

搭建HA,需要将第二个节点的 jobmanager.rpc.address 修改为node02

  相关解决方案