欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

YARN 各种RPC通信协议及它们的作用介绍 博客分类: Hadoop Hadoop 

程序员文章站 2024-03-18 08:19:40
...
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;">YARN 各种RPC通信协议及它们的作用介绍 
            
    
    博客分类: Hadoop Hadoop  



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