大数据全系列 教程
1869个小节阅读:467.1k
目录
408考研
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
从Standalone架构图中,可发现JobManager存在单点故障的问题,一旦JobManager出现意外,整个集群无法工作。为了确保集群的高可用,需要搭建Flink的Standalone HA。
Flink Standalone HA
集群,类似YARN HA 集群安装部署,可以启动多个主机点JobManager
,使用Zookeeper
集群监控JobManagers
转态,进行选举Active,实现自动故障转移。
在 Zookeeper
集群的协助下,一个Standalone
的集群会同时有两个或以上活着的 JobManager
,其中只有一个处于Active工作状态,其它处于 Standby 状态。当工作中的 JobManager
失去连接后(如宕机),Zookeeper
会从 Standby
中选一个新的 JobManager
来接管 Flink 集群。
集群规划
集群节点 | 角色 |
---|---|
node1 | master+worker(JobManager+TaskManager) |
node2 | master+worker(JobManager+TaskManager) |
node3 | worker(TaskManager) |
搭建步骤:
node1上复制一份flink-salone
xxxxxxxxxx
[root@node1 ~]# cd /opt/
[root@node1 opt]# cp -r flink-salone/ flink-salone-ha
删除之前的日志文件
xxxxxxxxxx
[root@node1 opt]# rm -f flink-salone-ha/log/*
[root@node1 opt]# ls flink-salone-ha/log/
[root@node1 opt]#
修改flink-conf.yaml
文件
xxxxxxxxxx
[root@node1 ~]# vim /opt/flink-salone-ha/conf/flink-conf.yaml
修改内容如下:
xxxxxxxxxx
high-availability: zookeeper
high-availability.storageDir: hdfs://mycluster/flink/ha/
high-availability.zookeeper.quorum: node2:2181,node3:2181,node4:2181
high-availability.zookeeper.path.root: /flink
high-availability.cluster-id: /cluster_standalone_ha
state.backend: filesystem
state.checkpoints.dir: hdfs://mycluster/flink/checkpoints
state.savepoints.dir: hdfs://mycluster/flink/savepoints
修改master文件
xxxxxxxxxx
[root@node1 ~]# vim /opt/flink-salone-ha/conf/masters
修改后的内容:
xxxxxxxxxx
node1:8081
node2:8081
分发到node2和node3上
xxxxxxxxxx
[root@node1 ~]# scp -r /opt/flink-salone-ha/ node2:/opt/
[root@node1 ~]# scp -r /opt/flink-salone-ha/ node3:/opt/
启动hadoop集群(如果已经启动忽略此步)
xxxxxxxxxx
[root@node1 ~]# startha.sh
启动flink集群
xxxxxxxxxx
[root@node1 ~]# /opt/flink-salone-ha/bin/start-cluster.sh
Starting HA cluster with 2 masters.
Starting standalonesession daemon on host node1.
Starting standalonesession daemon on host node2.
Starting taskexecutor daemon on host node1.
Starting taskexecutor daemon on host node2.
Starting taskexecutor daemon on host node3.
查看进程
WebUI查看