[6]HDFS客户端实现机制及源码调用(了解)

版权声明:Collected by Bro_Rabbit only for study https://blog.csdn.net/weixin_38240095/article/details/83023121

一、底层依赖:RPC( Remote Procedure Call )

  1. 一般远程过程调用简单示意
    远程过程调用示意图

  2. RPC是远程过程调用的一种实现,在Hadoop中用于节点间的远程通信(如client<->NameNode, NameNode<->DataNode)

  3. 实现:动态代理+反射+socket
    自定义远程过程调用

  4. 简单使用RPC Demo
    (1)Client 和 Server 导入 common 核心jar
    (2)Client 和 Server 声明同样的Service接口(绝对路径必须相同),但只在Server一端实现
    Interface&Inplements Server
    注:ServiceProtocol即动态代理接口中必须声明versionID以用于版本的双向验证

  5. RPC 发布Service( socket-server, 与WebService类似)
    Builder->Set…->Server->Start
    SocketServer

  6. Client 调用Service( socket-client )
    SocketClient

二、源码调用

  1. FileSystem.get();
    FileSystem.get()
    getFSCode
    getFSCode
  2. fs.open()
    FSOpenSrcCode

猜你喜欢

转载自blog.csdn.net/weixin_38240095/article/details/83023121