004.flink源码分析-jobmanager组件概览

本文分析了Flink的JobManager在session和非session模式下的架构,重点探讨了ResourceManager、Dispatcher和WebMonitorEndpoint的角色。ResourceManager负责资源管理和TaskManager管理,Dispatcher接收作业并启动JobManager,WebMonitorEndpoint通过REST接口处理客户端请求。这些组件在不同模式下有特定实现,且具备RPC能力和HA支持。
摘要由CSDN通过智能技术生成

flink运行模式可以划分为session模式和非session模式,session模式下,不需要在任务运行时像外部申请资源,资源的申请和释放都通过flink自己控制,如yarn-session模式,standalone模式,非session模式的资源控制交给外部系统,如application模式,per-job模式。实际上不同模式下最重要的区别是组件运行时机和资源控制权的问题,大部分代码逻辑相差不大。这里的session模式以standalone模式为例,非session模式以application模式为例。
无论哪种模式,flink的是一个主从架构,主节点叫做jobManager,从节点叫做TaskManager,在jobmanager的内部,有三大组件:ResourceManager,Dispatcher,RestEndpoint,在不同模式下,具体的实现类会有所差别。三个组件的具体实例都是通过工厂方法创建出来的
在standalone模式下:
第一个ResourceManager的实现类是StandaloneResourceManage,r是管理分配slot资源的组件。
第二个Dispatcher的实现类是DispatcherRunner,负责启动jobmaster并接收其他请求。
第三个RestEndpoint的实现类是DispatcherRestEndpoint,启动一个netty服务端,用来接收客户端发送提交job的数据。该web服务器使用了github上一个开源的基于netty的rest服务器,而没有使用jetty/tomcat这样的web容器。WebMonitorEndpoint启动好了之后内部netty等待接收客户端发送的数据。
standalone模式下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值