Class JHSDelegationTokenSecretManager

java.lang.Object
org.apache.hadoop.security.token.SecretManager<TokenIdent>
org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager<org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier>
org.apache.hadoop.mapreduce.v2.hs.JHSDelegationTokenSecretManager

@Private @Unstable public class JHSDelegationTokenSecretManager extends org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager<org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier>
A MapReduce specific delegation token secret manager. The secret manager is responsible for generating and accepting the password for each token.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager

    org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager.DelegationTokenInformation

    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.security.token.delegation.AbstractDelegationTokenSecretManager

    allKeys, currentId, currentTokens, delegationTokenSequenceNumber, noInterruptsLock, running, storeTokenTrackingId, tokenOwnerStats
  • Constructor Summary

    Constructors
    Constructor
    Description
    JHSDelegationTokenSecretManager(long delegationKeyUpdateInterval, long delegationTokenMaxLifetime, long delegationTokenRenewInterval, long delegationTokenRemoverScanInterval, HistoryServerStateStoreService store)
    Create a secret manager
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier
     
    void
     
    protected void
    removeStoredMasterKey(org.apache.hadoop.security.token.delegation.DelegationKey key)
     
    protected void
    removeStoredToken(org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier tokenId)
     
    protected void
    storeNewMasterKey(org.apache.hadoop.security.token.delegation.DelegationKey key)
     
    protected void
    storeNewToken(org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier tokenId, long renewDate)
     
    protected void
    updateStoredToken(org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier tokenId, long renewDate)
     

    Methods inherited from class org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager

    addKey, addPersistedDelegationToken, addTokenForOwnerStats, cancelToken, checkToken, createPassword, createSecretKey, decodeTokenIdentifier, getAllKeys, getCandidateTokensForCleanup, getCurrentKeyId, getCurrentTokensSize, getDelegationKey, getDelegationTokenSeqNum, getMetrics, getTokenInfo, getTokenRenewInterval, getTokenTrackingId, getTopTokenRealOwners, getTrackingIdIfEnabled, incrementCurrentKeyId, incrementDelegationTokenSeqNum, isRunning, logExpireToken, logExpireTokens, logUpdateMasterKey, removeExpiredStoredToken, renewToken, reset, retrievePassword, rollMasterKey, setCurrentKeyId, setDelegationTokenSeqNum, startThreads, stopThreads, storeDelegationKey, storeToken, syncTokenOwnerStats, updateDelegationKey, updateToken, verifyToken

    Methods inherited from class org.apache.hadoop.security.token.SecretManager

    checkAvailableForRead, createPassword, generateSecret, retriableRetrievePassword, update, validateSecretKeyLength

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • JHSDelegationTokenSecretManager

      public JHSDelegationTokenSecretManager(long delegationKeyUpdateInterval, long delegationTokenMaxLifetime, long delegationTokenRenewInterval, long delegationTokenRemoverScanInterval, HistoryServerStateStoreService store)
      Create a secret manager
      Parameters:
      delegationKeyUpdateInterval - the number of milliseconds for rolling new secret keys.
      delegationTokenMaxLifetime - the maximum lifetime of the delegation tokens in milliseconds
      delegationTokenRenewInterval - how often the tokens must be renewed in milliseconds
      delegationTokenRemoverScanInterval - how often the tokens are scanned for expired tokens in milliseconds
      store - history server state store for persisting state
  • Method Details

    • createIdentifier

      public org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier createIdentifier()
      Specified by:
      createIdentifier in class org.apache.hadoop.security.token.SecretManager<org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier>
    • storeNewMasterKey

      protected void storeNewMasterKey(org.apache.hadoop.security.token.delegation.DelegationKey key) throws IOException
      Overrides:
      storeNewMasterKey in class org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager<org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier>
      Throws:
      IOException
    • removeStoredMasterKey

      protected void removeStoredMasterKey(org.apache.hadoop.security.token.delegation.DelegationKey key)
      Overrides:
      removeStoredMasterKey in class org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager<org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier>
    • storeNewToken

      protected void storeNewToken(org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier tokenId, long renewDate)
      Overrides:
      storeNewToken in class org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager<org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier>
    • removeStoredToken

      protected void removeStoredToken(org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier tokenId) throws IOException
      Overrides:
      removeStoredToken in class org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager<org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier>
      Throws:
      IOException
    • updateStoredToken

      protected void updateStoredToken(org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier tokenId, long renewDate)
      Overrides:
      updateStoredToken in class org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager<org.apache.hadoop.mapreduce.v2.api.MRDelegationTokenIdentifier>
    • recover

      Throws:
      IOException