flink部署模式

flink部署模式

\X001 Flink架构

flink架构图

\X002 flink部署模式

flink部署模式分为3种:

  • application模式
    app的main()运行在jobmanger上。只能运行一个Job,job运行完后jobmanager关闭了。
  • preJob模式
    app的main()运行在client上,可以运行多个Job,AsyncJob不需要等待上一个Job完成,就可以直接开始运行,所有Job完成后,jobmanger就关闭了。
  • session模式
    app的main()运行在client上,jobmanger会一直存在。所有的job共享同一套flink集群实例。

讲到这里,大家会疑问,app的mian()运行在jobmanger和client上有啥区别?其实这个区别还挺大:
我们在main()里面写的逻辑要转化为DAGS图和其他flink-runtime能理解的成分然后发送给jobmanger,然后还需要将我们代码的依赖jar包,通过IO传送到我们的集群的每个节点,才能正常在flink上运行。换句话说,如果main()运行在client上,这些工作是client完成,如果main()运行在jobmanger上,这些工作通过jobmanger完成,而jobmanger身处集群内,而client身处集群外。

总的来说,以上3种部署模式的主要不同点:

  1. 集群的生命周期和资源的隔离
  2. main()运行的位置,是client还是jobmanger
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值