请教大神一个问题
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是干什么用的呢?
关于hadoop 2.6源码中ApplicationClientProtocol的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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同步传输问题