Flink Standalone 集群HA配置

1.HA集群环境规划

使用三台节点实现两主两从集群(由于笔记本性能限制)
jobmanager:master 、slave1
Taskmanager:slave1、slave2(slave1是一台机器上同时跑jobmanager和Taskmanager)
zookeeper:master 、slave1、slave2
NOTE:
要启用jobManager高可用性,必须将高可用性模式设置为zookeper,配置一个Zookeeper quorum,并配置一个masters文件储存所有的jobManager hostname及其Web UI 端口号。
Flink利用zookeeper实现运行中的jobManager节点之间的分布式协调。Zookeeper是独立于flink的服务,它通过领导选举制和轻量级转态一致性存储来提供高度可靠的分布式协调。

2.配置

集群内所有配置都一样,所以从第一台机器master开始配置,之后分发到各个节点就好了

  1. 进入到Flink的安装目录下(先按照standalone的参数进行修改):
    vi conf/flink-conf.yaml
jobmanager.rpc.address:master

在这里插入图片描述
一定注意冒号和参数之间要空一格

  1. 设置从节点
vi conf/slaves

在这里插入图片描述
将你需要设置为从节点的主机名写入此文件中(注意:也可以直接设置ip地址)

  1. 设置主节点
vi conf/masters

在这里插入图片描述

  1. List item

.设置HA

vi conf/flink-conf.yaml

具体设置如下:

high-availability:zookeeper
#zookeeper节点地址,如果是多节点的话“,”逗号隔开
high-availability.zookeeper.quorum:master:2181 ,slave1:2181,slave2:2181
#ZooKeeper 节点根目录,其下放置所有集群节点的 namespace 
high-availability.zookeeper.path.root:/flink 
#ZooKeeper 节点集群 id,其中放置了集群所需的所有协调数据
high-availability.cluster-id:/cluster_one 
# 建议指定 hdfs 的全路径。如果某个 flink 节点没有配置 hdfs 的话,不指定全路径无法识别 #storageDir 存储了恢复
JobManager 所需的所有元数据。
highavailability.storageDir:hdfs://master:9000/flink/ha

在这里插入图片描述

  1. List item

.把master上配置好的flink安装目录拷贝到其他节点

scp -rq flink-1.4.2 root@slave1:/usr/local
scp -rq flink-1.4.2 root@slave2:/usr/local
  1. 启动集群
    #【先启动 zk 服务】

    bin/zkServer.sh start

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#【再启动 hadoop 服务】

 sbin/start-all.sh

在这里插入图片描述
#启动 flinkstandaloneHA 集群,在 master 节点上启动如下命令(进入到flink安装目录下)】

  bin/start-cluster.sh

在这里插入图片描述

#【jps查看进程】
master
在这里插入图片描述
slave1
在这里插入图片描述
slave2
在这里插入图片描述
#【查看web界面】

因为 jobmanager 节点都会启动 web 服务,也可以通过 web 界面进行验证 访问 http://master:8081/#/jobmanager/config 发现以下信息:
(注意:此时就算是访问 master:8081 也会跳转回 master :8081 因为现在 master 是 active 的 jobmanager。从下图中也可以看出,点击 jobmanager 查看,显示哪个节点,就 表示哪个节点现在是 active 的。)
在这里插入图片描述

*如果没有添加主机映射,需要直接输入ip地址如(master的主机ip是:192.168.56.101):

http://192.168.56.101:8081/#/jobmanager/config

3.验证HA切换

master 节点上的 jobmanager 进程被手工 kill 掉了,然后 master上的 jobmanager 会 自动切换为 active,中间需要有一个时间差,稍微等一下 访问 http://master:8081/#/jobmanager/config 如果可以正常访问并且能看到 jobmanager 的信息变为 master,则表示 jobmanager 节点 切换成功

[root@master flink-1.6.1]# jps
2464 QuorumPeerMain
2969 ResourceManager
3946 StandaloneSessionClusterEntrypoint
2813 SecondaryNameNode
2622 NameNode
4014 Jps
[root@master flink-1.6.1]# kill 3946

在这里插入图片描述
访问http://slave1:8081/#/jobmanager/config发现slave1变成了jobmanager
在这里插入图片描述
进入到master下的flink安装目录下重新启动之前kill掉的jobmanager

bin/jobmanager.shstart

在这里插入图片描述
这个节点重启启动之后,就变为 standby 了。slave1 还是 active

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值