liuqiker 2016-05-25 08:12 采纳率: 0%
浏览 1908
已结题

关于hadoop 2.6源码中ApplicationClientProtocol的问题

请教大神一个问题
Hadoop 2.6中,Client端提交JOB到RM端,他们是通过ApplicationClientProtocol通信的。
在RM端有RMClientService.java作为服务端接收请求并相应,代码是rpc.getServer(ApplicationClientProtocol.class...),可以看出服务端对应的协议是ApplicationClientProtocol。
在Client端有ApplicationClientProtocolPBClientImpl.java作为客户端提交请求,代码是RPC.getProxy(ApplicationClientProtocolPB.class...),可以看出Client端的协议是ApplicationClientProtocolPB。
而ApplicationClientProtocolPB继承了ApplicationClientProtocolService.BlockingInterface,这是GOOGLE的protoBuf的内容。
这能代表ApplicationClientProtocolPB等同于ApplicationClientProtocol吗?服务端和客户端一个是ApplicationClientProtocolPB.class,一个是ApplicationClientProtocol.class为什么可以正常通信?
为什么不在服务端直接写成rpc.getServer(ApplicationClientProtocolPB.class...)呢?
还有ApplicationClientProtocolPBServiceImpl.java是干什么用的呢?

  • 写回答

1条回答 默认 最新

  • 普通网友 2016-10-04 18:39
    关注

    entService.java作为服务端接收请求并相应,代码是rpc.getServer(ApplicationClientProtocol.class...),可以看出服务端对应的协议是ApplicationClientProtocol。
    在Client端有ApplicationClientProtocolPBClientImpl.java作为客户端提交请求,代码是RPC.getProxy(ApplicationClientProtocolPB.class...),可以看出Client端的协议是ApplicationClientProtocolPB。
    而ApplicationClientProtocolPB继承了ApplicationClientProtocolService.BlockingInterface,这是GOOGLE的protoBuf的内容。

    评论

报告相同问题?

悬赏问题

  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题