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