| 操作步骤 | 说明 |
| 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



