前言:
- Rpc协议就是Server实现一个声明了很多方法的接口并对外暴露此接口,Client通过调用此接口中声明的方法向server发送信息从而实现了与server的通信
HDFS中的接口主要包括三种类型:
- 客户端相关接口:
- ClientProtocol----客户端与namenode节点
- ClientDataNodeProtocol----客户端与datanode节点
- 服务器端相关接口:
- DataNodeprotocol----namenode节点与datanode节点
- IntelDataNodeProtocol----datanode节点之间
- NameNodeProtocol----nameode节点与secondary namenode节点
- 安全相关接口:
客户端(DFSClient):
- DFSClient可以连接hdfs文件系统并执行一些基本的文件任务,使用ClientProtocol与NameNode建立通信,另外它也可以通过ClientDataNodeProtocol连接DataNode并读取或更改上面的数据块,在程序中使用不能直接使用DFSClient对象,我们通过FileSystem对象来使用DFSClient对象
- NameNode实现了ClientProtocol, ClientProtocol中提供了很多操作hdfs数据的方法