|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.yarn.client.api.NMTokenCache
@InterfaceAudience.Public @InterfaceStability.Evolving public class NMTokenCache
NMTokenCache manages NMTokens required for an Application Master communicating with individual NodeManagers.
By default Yarn client librariesAMRMClient and NMClient use
getSingleton() instance of the cache.
AMRMClient and NMClient are already set up to use the default
singleton NMTokenCacheAMRMClient and the NMClient, setting up and using
an instance cache is as follows:
NMTokenCache nmTokenCache = new NMTokenCache(); AMRMClient rmClient = AMRMClient.createAMRMClient(); NMClient nmClient = NMClient.createNMClient(); nmClient.setNMTokenCache(nmTokenCache); ...
AMRMClientAsync and the NMClientAsync, setting up
and using an instance cache is as follows:
NMTokenCache nmTokenCache = new NMTokenCache();
AMRMClient rmClient = AMRMClient.createAMRMClient();
NMClient nmClient = NMClient.createNMClient();
nmClient.setNMTokenCache(nmTokenCache);
AMRMClientAsync rmClientAsync = new AMRMClientAsync(rmClient, 1000, [AMRM_CALLBACK]);
NMClientAsync nmClientAsync = new NMClientAsync("nmClient", nmClient, [NM_CALLBACK]);
...
ApplicationMasterProtocol and
ContainerManagementProtocol directly, setting up and using an
instance cache is as follows:
NMTokenCache nmTokenCache = new NMTokenCache();
...
ApplicationMasterProtocol amPro = ClientRMProxy.createRMProxy(conf, ApplicationMasterProtocol.class);
...
AllocateRequest allocateRequest = ...
...
AllocateResponse allocateResponse = rmClient.allocate(allocateRequest);
for (NMToken token : allocateResponse.getNMTokens()) {
nmTokenCache.setToken(token.getNodeId().toString(), token.getToken());
}
...
ContainerManagementProtocolProxy nmPro = ContainerManagementProtocolProxy(conf, nmTokenCache);
...
nmPro.startContainer(container, containerContext);
...
AMRMClient or
NMClient, or the async versions of them) with a protocol proxy (
ContainerManagementProtocolProxy or
ApplicationMasterProtocol).
| Constructor Summary | |
|---|---|
NMTokenCache()
Creates a NM token cache instance. |
|
| Method Summary | |
|---|---|
static Token |
getNMToken(String nodeAddr)
Returns NMToken, null if absent. |
static NMTokenCache |
getSingleton()
Returns the singleton NM token cache. |
Token |
getToken(String nodeAddr)
Returns NMToken, null if absent |
static void |
setNMToken(String nodeAddr,
Token token)
Sets the NMToken for node address only in the singleton obtained from getSingleton(). |
void |
setToken(String nodeAddr,
Token token)
Sets the NMToken for node address |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public NMTokenCache()
| Method Detail |
|---|
public static NMTokenCache getSingleton()
@InterfaceAudience.Public public static Token getNMToken(String nodeAddr)
getSingleton() is looked at for the tokens. If you are using your
own NMTokenCache that is different from the singleton, use
getToken(String)
nodeAddr -
Token NMToken required for communicating with node manager
@InterfaceAudience.Public
public static void setNMToken(String nodeAddr,
Token token)
getSingleton(). If you are using your own NMTokenCache that is
different from the singleton, use setToken(String, Token)
nodeAddr - node address (host:port)token - NMToken@InterfaceAudience.Public @InterfaceStability.Evolving public Token getToken(String nodeAddr)
nodeAddr -
Token NMToken required for communicating with node
manager
@InterfaceAudience.Public
@InterfaceStability.Evolving
public void setToken(String nodeAddr,
Token token)
nodeAddr - node address (host:port)token - NMToken
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||