HDFS 通信框架

本文详细介绍了HDFS中节点间的通信框架,包括基于RPC和TCP/HTTP的方式。RPC通信主要包括ClientProtocol、DataNodeProtocol和ClientDatanodeProtocol,涉及文件读写、心跳汇报等功能;流式接口如DataTransferProtocol用于数据块的TCP传输,HTTP接口则服务于Active NameNode和Standby NameNode间的状态同步。
摘要由CSDN通过智能技术生成

1.HDFS 的各节点之间的通信框架概述
HDFS 之间的通信方式有两种:
(1)基于 RPC 的通信 (2)基于 TCP 或 HTTP 的通信
1)RPC 通信的接口
定义了客户端和 NameNode 的接口,客户端和 DataNode 的接口,DataNode 和 NameNode 的接口,DataNode 和 DataNode 的接口。
底层采用 Hadoop 的 RPC 通信协议,实现客户端与服务端之间的通信
2)基于 TCP 和 HTTP 通信的流式接口
(1)HDFS 客户端和 DataNode 以及 DataNode 之间的数据块的传输是基于 TCP 的(数据量大)
(2)Active NameNode 和 Standby NameNode 之间是采用 HTTP 接口实现通信的

2.HDFS 中 RPC 的通信接口及其主要功能
1)ClientProtocol
定义了所有由客户端发起,NameNode 响应的操作
核心:HDFS 文件读写相关的操作
(1)HDFS 文件读相关的操作
Ⅰ.getBlockLocations() 获得数据块的位置信息
Ⅱ.reportBadBlocks() 发现读数据异常时告知 NameNode 错误(校验和不正确)的数据块位置
(2)写数据相关操作
Ⅰ.create() 在 HDFS 的文件系统目录树创建一个空文件
Ⅱ.addBlock 向指定文件中添加一个新的数据块
Ⅱ.complete()

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值