YARN 各种RPC通信协议及它们的作用介绍

本文介绍了YARN框架中的RPC协议,包括JobClient与ResourceManager之间的ApplicationClientProtocol、Admin与ResourceManager之间的ResourceManagerAdministrationProtocol、ApplicationMaster与ResourceManager之间的ApplicationMasterProtocol、ApplicationMaster与NodeManager之间的ContainerManagementProtocol以及NodeManager与ResourceManager之间的ResourceTracker。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RPC协议是连接各个组件的“大动脉”,了解不同组件之间的RPC协议有助于我们更深入地学习YARN框架。
在YARN中,任何两个需相互通信的组件之间仅有一个RPC协议,而对于任何一个RPC协议,通信双方有一端是Client,另一端为Server,且Client总是主动连接Server的,因此,YARN实际上采用的是拉式(pull-based)通信模型。如图2-10所示,箭头指向的组件是RPC Server,而箭头尾部的组件是RPC Client,



YARN主要由以下几个RPC协议组成:
 
JobClient(作业提交客户端)与RM之间的协议ApplicationClientProtocol:JobClient通过该RPC协议提交应用程序、查询应用程序状态等。

 

Admin(管理员)与RM之间的通信协议ResourceManagerAdministrationProtocol:Admin通过该RPC协议更新系统配置文件,比如节点黑白名单、用户队列权限等。
AM与RM之间的协议ApplicationMasterProtocol:AM通过该RPC协议向RM注册和撤销自己,并为各个任务申请资源。
AM与NM之间的协议ContainerManagementProtocol:AM通过该RPC要求NM启动或者停止Container,获取各个Container的使用状态等信息。
NM与RM之间的协议ResourceTracker:NM通过该RPC协议向RM注册,并定时发送心跳信息汇报当前节点的资源使用情况和Container运行情况。

 

<ignore_js_op style="word-wrap: break-word;"> 



为了提高Hadoop的向后兼容性和不同版本之间的兼容性,YARN中的序列化框架采用了Google开源的Protocol Buffers。Protocol Buffers的引入使得YARN具有协议向后兼容性,相关内容将在第3章介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值