从协议VersionedProtocol开始

VersionedProtocol协议是Hadoop的最顶层协议接口的抽象;5--3--3共11个协议,嘿嘿

1)HDFS相关

  • ClientDatanodeProtocol:client与datanode交互的接口,操作不多,只有一个block恢复的方法。那么,其它数据请求的方法呢?client与datanode主要交互是通过流式的socket实现,源码在DataXceiver,在这里先不说了;
  • ClientProtocol:client与Namenode交互的接口,所有控制流的请求均在这里,如:创建文件、删除文件等;
  • DatanodeProtocol:Datanode与Namenode交互的接口,如心跳、blockreport等;
  • NamenodeProtocol:SecondaryNode与Namenode交互的接口。
  • InterDatanodeProtocol:Datanode内部交互的接口,用来更新block的元数据;

2)Mapreduce相关

    • InnerTrackerProtocol:TaskTracker与JobTracker交互的接口,功能与DatanodeProtocol相似;
    • JobSubmissionProtocol:JobClient与JobTracker交互的接口,用来提交Job、获得Job等与Job相关的操作;
    • TaskUmbilicalProtocol:Task中子进程与母进程交互的接口,子进程即map、reduce等操作,母进程即TaskTracker,该接口可以回报子进程的运行状态(词汇扫盲: umbilical 脐带的, 关系亲密的) 。

    3)其它

    • AdminOperationProtocol:不用用户操作的接口,提供一些管理操作,如刷新JobTracker的node列表;
    • RefreshAuthorizationPolicyProtocol,RefreshUserMappingsProtocol:暂不明白。
    上一篇:也谈谈关于WEB的感想


    下一篇:跨域 Iframe 通信解决方案(兼容 IE 系列浏览器。)