美文网首页
flink standalone ha cluster的安装

flink standalone ha cluster的安装

作者: 宙斯是只猫 | 来源:发表于2019-06-14 13:06 被阅读0次

jobmanager和taskmanager

image.png

首先client端会提交job,然后由jobmanager进行处理,把任务进行分发,分发到taskmanager上面去,taskmanager里面有线程和内存资源,可以运行任务,这里的client可以是web ui也可以是命令行(flink run)等工具,jobmanager本身并不运行任务,类似于es中的master节点.处理一些元数据信息,jobmanager还承担了和客户端交互的功能,而taskmanager可以类比为es的data节点,是真正处理任务的节点,es中的高可用,一个master节点多个standby,flink standalone ha也是这种思想,master是jobmanager,slave是taskmanager,但是jobmanager需要配置多个,其中的选举和检测需要依赖于zookeeper.这个对于master和slave的配置就是在conf下的master和salve配置文件中配置,如果三个节点,flink1,flink2,flink3,都在master文件中配置了,那就会有三个jobmanager,在配上zk,那么flink会自己选出一个master,其余两个作为standby,假如master节点挂掉,则会自行选举,切换另一个节点为master节点,挂掉的节点如果重启,只能作为standby,而不能作为master

环境

jdk1.8
flink-1.8
三台节点,flink1,flink2,flink3,三台机器要能够ssh

下载安装jdk和下载flink的安装包就不说了,主要是配置,如果有外部zk机器,则直接在flink-conf.yaml上配上,如果没有zk,flink也提供了内置的zk,配置文件就在conf/zoo.cfg,因为我这是正式环境,就用了线上的zk.官方文档
flink-conf.yaml

//选择高可用的方式
high-availability: zookeeper
//zk机器节点
high-availability.zookeeper.quorum: zk1:2181,zk2:2181
//集群名称
high-availability.cluster-id: /cluster_one 
//ha元数据存储空间,如果没有装hdfs,可以用file文件系统
high-availability.storageDir: hdfs:///flink/recovery

master

flink1:8081
flink2:8081
flink3:8081

slave

flink1
flink2
flink3

这里对于flink-conf.yaml中的jobmanager.rpc.address: flink1这个配置,如果是ha模式下,这个配置已经不起作用了,因为jobmanager会在哪几个启动已经在master节点写进去了,接着就是scp命令吧这些包复制到其他的节点上,需要注意三台节点
放flink目录最好一致,虽然我没试,但是有说法是不一致会有问题.接着启动start-cluster.sh,会输出几个StandaloneSessionClusterEntrypoint几个TaskManagerRunner,StandaloneSessionClusterEntrypoint也就是jobmanager,机器上是否启动这个,就是受master配置文件的影响.杀掉主节点,过大概20s,在去看主节点会发现主节点变为了另一个节点.

相关文章

网友评论

      本文标题:flink standalone ha cluster的安装

      本文链接:https://www.haomeiwen.com/subject/czvufctx.html