三个JobManager实例的集群图解
conf/flink-conf.yaml划重点
high-availability: zookeeper
high-availability.storageDir: hdfs://master:9000/flink/ha/
high-availability.zookeeper.quorum: localhost:2181
conf/masters划重点
192.168.1.201:8081
192.168.1.25:8081
192.168.1.26:8081
启动集群
此时三个节点的jobManager启动起来了,访问任意一个节点的rest web都会跳转到主节点的reset web。
三个节点只有主节点的taskManager启动起来了,另外两个节点需要手动启动。
启动完毕后Task Managers下可以看到三个节点的所有task manager状态。
此时提交job的话会发配到一个或多个task manager上执行。
下面这行代码设置job重试次数,因为jobManager挂掉的时候,task manager会重启,如果没有下面这行代码任务就不能再次执行。
fixedDelayRestart5, 10000;
场景描述:
三个节点,启动了三个jobManager,三个分别配置了1个slot 的taskManager,分别命名ABC。
启动完毕后,假如A jobManager为master,BC jobManager为slave。ABC taskManager不区分主从。
提交一个job,分片数为3,运行成功后正常情况下这个job会拆分不同的子任务到三个taskManager的slot上执行。
flink集群流程图示