Yarn-clien学习(二)

来源:互联网 发布:淘宝纯棉四件套 编辑:程序博客网 时间:2024/05/29 12:14


ContainerManagementProtocolProxy:

{

private final Map<String, ContainerManagementProtocolProxyData> cmProxy;

private final YarnRPC rpc;

}

ContainerManagementProtocolProxyData:

{

 private final ContainerManagementProtocol proxy;

}


ContainerManagementProtocol和ApplicationMasterProtocol在使用上是有点区别的:

AMRMClienImpl.java 中是直接定义的protected ApplicationMasterProtocol rmClient;

而NMClienImpl.java 是定义 private ContainerManagementProtocolProxy cmProxy;

ContainerManagementProtocolProxy的定义在上面已经说明了。


为什么要在ContainerManagementProtocolProxy中定义YarnRPC,笔者认为这是为了以后的扩展。为什么这么说呢,YarnRPC是用开开启服务的,YarnRPC.getServer().start(),所以可能是以后NodeManage也需要主动与ApplicationMaster 进行交互。而并非只是ApplicationMaster 主动与NodeManage交互,也就是NodeManage也需要ApplicatonMaster的某种服务。









1 0
原创粉丝点击