背景
在运行flink时,我们经常会有几种不同的执行模式,比如在IDE中启动时,通过提交到YARN上,还有通过Kebernates启动时,本文就来记录一下这几种模式
flink的几种执行模式
flink嵌入式模式:
这是一种我们在IDE开发和调试flink应用时最常使用的模式,他会在一个JVM进程中以线程的方式开启所有flink的各种必要组件,比如JobManager,TaskManager等等
flink框架执行模式:
这是目前我们生产环境中使用的模式,flink在Yarn上面运行,以服务的形式提供flink集群环境,我们只需要把引用jar包提交到flink服务集群,我们就能运行我们的flink应用
flink库执行模式
flink框架代码和flink的应用代码打包在一起以docker镜像的方式执行,当kebernates执行docker镜像时,他会启动对应的JobManager,taskManager等进行并在故障发生时重启,这种模式类似我们经常见到的微服务架构
以下是几种不同模式的示意图