RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
- pom依赖
- 协议
- 服务端代码实现
- 客户端实现
从上面我们自己的代码可以看出,我们自己的ClientProtocol,那么HDFS的协议是什么呢?接下来,我们看看源码中是怎么说的呢
从图中我们知道NameNodeRpcServer是继承了NamenodeProtocols,而后又继承了ClientProtocol。
- NameNodeRpcServer
这个类负责处理所有对NameNode的RPC调用。它由NameNode创建、启动和停止。
- ClientProtocol
是用户代码通过org.apache.hadoop.hdfs.DistributedFileSystem类与NameNode进行通信。用户代码可以操作目录命名空间,以及打开/关闭文件流等。