用户组:游客
使用道具 举报
Hadoop RPC接口主要定义在org.apache.hadoop.hdfs.protocol包和org.apache.hadoop.hdfs.server.protocol包中,包括以下几个接口: ClientProtocol:定义了客户端与名字节点间的接口,客户端对文件系统的所有操作都需要通过这个接口,同时客户端读、写文件等操作也需要先通过这个接口与Namenode协商之后,再进行数据块的读出和写入操作。 ClientDatanodeProtocol:客户端与数据节点间的接口。定义的方法主要是用于客户端获取数据节点信息时调用,而真正的数据读写交互则是通过流式接口进行。 DatanodeProtocol:数据节点通过这个接口与名字节点通信,同时名字节点会通过这个接口中方法的返回值向数据节点下发指令。这是名字节点与数据节点通信的唯一方式。数据节点会通过这个接口向名字节点注册、汇报数据块的全量以及增量的存储情况。同时,名字节点也会通过这个接口中方法的返回值,将名字节点指令带回该数据块,根据这些指令,数据节点会执行数据块的复制、删除以及恢复操作。 InterDatanodeProtocol:数据节点与数据节点间的接口,数据节点会通过这个接口和其他数据节点通信。这个接口主要用于数据块的恢复操作,以及同步数据节点存储的数据块副本的信息。 NamenodeProtocol:第二名字节点与名字节点间的接口。 其他接口:主要包括安全相关接口(RefreshAuthorizationPolicyProtocol、RefreshUserMappingsProtocol)、HA相关接口(HAServiceProtocol)等。
sinv2015 发表于 2017-3-6 10:14 我举个简单的例子,在我们程序实现中,比如我们要在HDFS上创建一个目录,我们调用的是FileSystem.mkdirs() ...
FileSystem
sinv2015 发表于 2017-3-6 15:57 接口与类的关系我都懂,但是我看了FileSystem类,他实现的接口并没有ClientProtocol。如下图
Hadoop RPC接口的ClientProtocol也有实现HDFS文件读写的功能
tntzbzc 发表于 2017-3-6 21:11 你把认为的读写功能的代码贴出来看下
本版积分规则 发表回复 回帖后跳转到最后一页
积极上进,爱好学习
经常参与各类话题的讨论,发帖内容较有主见
经常帮助其他会员答疑
积极宣传本站,为本站带来更多注册会员
中级会员
10
主题
40
帖子
3
粉丝
查看 »