flink集群架构和部署模式

1.flink集群架构

flink集群架构主要包括JobManager、TaskManager、Client等内容。

  • JobManager:管理节点,每个集群至少一个,管理整个集群计算资源,Job管理与调度执行,以及checkpoint协调。
  • TaskManager:每个集群有多个TM,负责计算资源提供。
  • Client:本地执行应用main()方法解析JobGraph对象,并最终将JobGraph提交到JobManager运行,同时监控Job执行的状态。

2.flink集群部署模式(Session、Per-Job、Application)

根据2种条件将集群部署模式分为三种类型:

  • 集群的生命周期和资源隔离
  • 根据程序main()方法执行在client还是JobManager
  • 1.Session Mode:共享JobManager和TaskManager,所有提交的job都在一个Runtime中运行。
  • 2.Per-Job Mode:独享JobManager和TaskManager,为每个job单独启动一个Runtime。
  • 3.Application Mode:Application的main()运行在cluster上,而不是在客户端,每个Application对应一个Runtime,Application中可以含有多个job。

3.集群资源管理器支持(Standalone,Yarn,Kubernetes)

flink集群部署-Cluster Management支持,flink支持:Standalone,Hadoop Yarn,Kubernetes、Docker、Apache Mesos),其中yarn、kubernetes支持最友好。

你可能感兴趣的:(flink集群架构和部署模式)