Hadoop 2.0的两种RPC
2016-07-17 11:12
183 查看
Hadoop 2.0中存在两个ipc包, 分别在hadoop-common和hadoop-yarncommon项目下. 分别为hadoop RPC和新的YarnRPC.
1. 使用hadoop ipc包的协议
原有的协议
2. 使用YarnRPC的协议
这些都是用在yarn上的协议, 并且都是0.23开始新增的协议.
下图显示了yarn中各个进程使用的协议.
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
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结束事件等 |
这些都是用在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等 |
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
相关文章推荐
- centos安装jdk、tomcat、maven搭建java环境
- OpenCV学习(四)颜色空间缩减实现
- linux 高级字符设备驱动 ioctl操作介绍 例程分析实现
- nginx使用反向代理时获取用户IP
- linux 文件搜索 grep locate find
- Cscope
- Docker学习笔记
- linux centos 6.7 修改 ip、网关、dns
- linux 中 timeval结构体
- top命令
- hdu4349xiaoming's hope(Lucas定理和位运算)
- 网站后台添加富文本编辑器
- Linux(Ubuntu)下搭建ASP.NET Core环境
- 笔记:vs使用cmake自动添加opencv和boost(MFC使用cmake建立工程)
- 关于Linux下的chown、chgrp、chmod命令的使用权限
- linux笔记:linux系统安装-vmware虚拟机安装
- linux shell 编程(三)
- linux菜鸟学习(六)----linux文件属性详解
- 如何利用photoshop来测量某个元素的宽高
- linux shell 编程(二)