Flink的standAlone模式的HA环境

在上一节当中,我们实现了flink的standAlone模式的环境安装,并且能够正常提交任务到集群上面去,我们的主节点是jobManager,但是唯一的问题是jobmanager是单节点的,必然会有单节点故障问题的产生,所以我们也可以在standAlone模式下,借助于zk,将我们的jobManager实现成为高可用的模式

首先停止Flink的standAlone模式,并启动zk和hadoop集群服务

第一步:修改配置文件

node01执行以下命令修改Flink的配置文件

node01修改flink-conf.yaml配置文件

cd /kkb/install/flink-1.8.1/conf

vim flink-conf.yaml

jobmanager.rpc.address: node01

high-availability: zookeeper

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

high-availability.zookeeper.path.root: /flink

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

node01修改masters配置文件

node01执行以下命令修改master配置文件

cd /kkb/install/flink-1.8.1/conf

vim masters

node01:8081

node02:8081

node01修改slaves配置文件

node01执行以下命令修改slaves配置文件

cd /kkb/install/flink-1.8.1/conf

vim slaves

node01

node02

node03

第二步:hdfs上面创建flink对应的文件夹

node01执行以下命令,在hdfs上面创建文件夹

hdfs dfs -mkdir -p /flink

第三步:拷贝配置文件

将node01服务器修改后的配置文件拷贝到其他服务器上面去

node01执行以下命令拷贝配置文件

cd /kkb/install/flink-1.8.1/conf

scp flink-conf.yaml masters slaves node02:$PWD

scp flink-conf.yaml masters slaves node03:$PWD

第四步:启动flink集群

node01执行以下命令启动flink集群

cd /kkb/install/flink-1.8.1

bin/start-cluster.sh

第五步:页面访问

访问node01服务器的web界面

http://node01:8081/#/overview

访问node02服务器的web界面

http://node02:8081/#/overview

注意:一旦访问node02的web界面,会发现我们的web界面会自动跳转到node01的web界面上,因为此时,我们的node01服务器才是真正的active状态的节点

第六步:模拟故障宕机实现自动切换

将node01服务器的jobManager进程杀死,然后过一段时间之后查看node02的jobManager是否能够访问

注意: JobManager发生切换时,TaskManager也会跟着发生重启,这其实是一个隐患问题

第七步:flink的standAlone模式在HA下提交任务

在HA这种模式下,提交任务与standAlone单节点模式提交任务是一样的,即使JobManager服务器宕机了也没有关系,会自动进行切换

node01执行以下命令启动socket服务,输入单词

nc -lk 9000

node01启动flink的自带的单词统计程序,接受输入的socket数据并进行统计

cd /kkb/install/flink-1.8.1

bin/flink run examples/streaming/SocketWindowWordCount.jar --hostname node01 --port 9000

node01服务器执行以下命令查看统计结果

cd /kkb/install/flink-1.8.1/log

tail -200f flink-hadoop-taskexecutor-0-node01.kaikeba.com.out

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容