Hadoop 2.0的两种RPC

大数据 Hadoop
Hadoop 2.0中存在两个ipc包, 分别为hadoop RPC和新的YarnRPC, 本文简要描述了两种RPC。

Hadoop 2.0中存在两个ipc包, 分别在hadoop-common和hadoop-yarncommon项目下. 分别为hadoop RPC和新的YarnRPC.

1. 使用hadoop ipc包的协议

原有的协议

协议名

客户端

服务端

主要方法

ClientProtocol

Client

Namenode

 

DatanodeProtocol

DN

NN

 

NamenodeProtocol

SNN

NN

 

RefreshAuthorizationPolicyProtocol

Client

NN

 

RefreshUserMappingsProtocol

Client

NN

 

GetUserMappingsProtocol

Client

NN

 

TaskUmbilicalProtocol

YarnChild(运行task的containner)

AM

状态更新, 获取map结束事件等

2. 使用YarnRPC的协议

这些都是用在yarn上的协议, 并且都是0.23开始新增的协议.

协议名

客户端

服务端

主要方法

ClientRMProtocol

Client

RM

提交,查询,kill AM等

AMRMProtocol

AM

RM

注册, 结束AM, 请求资源

ContainerManager

AM

NM

启动, 停止, 查询 container

RMAdminProtocol

Client

RM

刷新node, queu, acl等

HSClientProtocol

Client

HistoryServer

继承于MRClientProtocol

MRClientProtocol

Client

AM

获取job/task信息, kill job/task等

下图显示了yarn中各个进程使用的协议.

PZM~{(O6073A2AF(QM2P@@3

3. 为什么要新增YarnRPC呢

事实上, YarnRPC只是封装了hadoop-common的ipc, 最终还是使用了hadoop-common的ipc包, 包括server和client, 所以底层的网络通信方法是一样的.

新增的协议都使用了YarnRPC包,

至于底层使用何种序列化方式, 可以通过配置决定:

yarnRPC的底层序列化方式: yarn. ipc. serializer.type 默认为protocolbuffers

hadoop-common RPC的序列化方式: rpc.engine.( protocol.getName()) 默认为WritableRpcEngine

原文链接:http://www.cnblogs.com/shenh062326/archive/2012/12/16/YRRN_RPC.html

责任编辑:彭凡 来源: 博客园
相关推荐

2014-01-07 14:04:13

HadoopMapReduce

2009-09-14 19:25:09

Ruby form

2010-10-11 10:31:51

MySQL分区

2010-06-03 19:28:02

Hadoop

2014-01-07 14:29:14

HadoopYARN

2021-05-27 10:57:01

TCP定时器网络协议

2010-03-11 14:34:47

Python环境

2011-03-03 10:26:04

Pureftpd

2021-08-11 06:57:16

ShuffleSpark核心

2010-06-07 17:41:42

Sendmail 配置

2010-07-14 16:28:58

配线架

2010-08-06 09:38:11

Flex读取XML

2022-03-15 08:25:32

SparkShuffle框架

2023-03-29 13:06:36

2010-10-21 16:24:18

sql server升

2009-06-25 13:43:00

Buffalo AJA

2011-04-06 12:41:41

Java异常

2024-06-06 08:32:52

.NET框架代码

2009-11-23 14:09:53

PHP的foreach

2010-09-07 11:09:59

点赞
收藏

51CTO技术栈公众号