Class RMContainerTokenSecretManager
java.lang.Object
org.apache.hadoop.security.token.SecretManager<org.apache.hadoop.yarn.security.ContainerTokenIdentifier>
org.apache.hadoop.yarn.server.security.BaseContainerTokenSecretManager
org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager
public class RMContainerTokenSecretManager
extends org.apache.hadoop.yarn.server.security.BaseContainerTokenSecretManager
SecretManager for ContainerTokens. This is RM-specific and rolls the
master-keys every so often.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hadoop.security.token.SecretManager
org.apache.hadoop.security.token.SecretManager.InvalidToken -
Field Summary
Fields inherited from class org.apache.hadoop.yarn.server.security.BaseContainerTokenSecretManager
containerTokenExpiryInterval, currentMasterKey, readLock, readWriteLock, serialNo, writeLock -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidActivate the new master-keyorg.apache.hadoop.yarn.api.records.TokencreateContainerToken(org.apache.hadoop.yarn.api.records.ContainerId containerId, int containerVersion, org.apache.hadoop.yarn.api.records.NodeId nodeId, String appSubmitter, org.apache.hadoop.yarn.api.records.Resource capability, org.apache.hadoop.yarn.api.records.Priority priority, long createTime) org.apache.hadoop.yarn.api.records.TokencreateContainerToken(org.apache.hadoop.yarn.api.records.ContainerId containerId, int containerVersion, org.apache.hadoop.yarn.api.records.NodeId nodeId, String appSubmitter, org.apache.hadoop.yarn.api.records.Resource capability, org.apache.hadoop.yarn.api.records.Priority priority, long createTime, org.apache.hadoop.yarn.api.records.LogAggregationContext logAggregationContext, String nodeLabelExpression, org.apache.hadoop.yarn.server.api.ContainerType containerType, org.apache.hadoop.yarn.api.records.ExecutionType execType, long allocationRequestId, Set<String> allocationTags) Helper function for creating ContainerTokens.org.apache.hadoop.yarn.server.api.records.MasterKeyvoidCreates a new master-key and sets it as the primary.voidstart()voidstop()Methods inherited from class org.apache.hadoop.yarn.server.security.BaseContainerTokenSecretManager
createIdentifier, createNewMasterKey, createPassword, getCurrentKey, retrievePassword, retrievePasswordInternalMethods inherited from class org.apache.hadoop.security.token.SecretManager
checkAvailableForRead, createPassword, createSecretKey, generateSecret, retriableRetrievePassword, update, validateSecretKeyLength
-
Constructor Details
-
RMContainerTokenSecretManager
public RMContainerTokenSecretManager(org.apache.hadoop.conf.Configuration conf)
-
-
Method Details
-
start
public void start() -
stop
public void stop() -
rollMasterKey
@Private public void rollMasterKey()Creates a new master-key and sets it as the primary. -
getNextKey
@Private public org.apache.hadoop.yarn.server.api.records.MasterKey getNextKey() -
activateNextMasterKey
@Private public void activateNextMasterKey()Activate the new master-key -
createContainerToken
@VisibleForTesting public org.apache.hadoop.yarn.api.records.Token createContainerToken(org.apache.hadoop.yarn.api.records.ContainerId containerId, int containerVersion, org.apache.hadoop.yarn.api.records.NodeId nodeId, String appSubmitter, org.apache.hadoop.yarn.api.records.Resource capability, org.apache.hadoop.yarn.api.records.Priority priority, long createTime) -
createContainerToken
public org.apache.hadoop.yarn.api.records.Token createContainerToken(org.apache.hadoop.yarn.api.records.ContainerId containerId, int containerVersion, org.apache.hadoop.yarn.api.records.NodeId nodeId, String appSubmitter, org.apache.hadoop.yarn.api.records.Resource capability, org.apache.hadoop.yarn.api.records.Priority priority, long createTime, org.apache.hadoop.yarn.api.records.LogAggregationContext logAggregationContext, String nodeLabelExpression, org.apache.hadoop.yarn.server.api.ContainerType containerType, org.apache.hadoop.yarn.api.records.ExecutionType execType, long allocationRequestId, Set<String> allocationTags) Helper function for creating ContainerTokens.- Parameters:
containerId- Container IdcontainerVersion- Container versionnodeId- Node IdappSubmitter- App Submittercapability- Capabilitypriority- PrioritycreateTime- Create TimelogAggregationContext- Log Aggregation ContextnodeLabelExpression- Node Label ExpressioncontainerType- Container TypeexecType- Execution TypeallocationRequestId- allocationRequestIdallocationTags- allocation Tags- Returns:
- the container-token
-