Example usage for org.apache.hadoop.mapreduce.security.token JobTokenSecretManager JobTokenSecretManager

List of usage examples for org.apache.hadoop.mapreduce.security.token JobTokenSecretManager JobTokenSecretManager

Introduction

In this page you can find the example usage for org.apache.hadoop.mapreduce.security.token JobTokenSecretManager JobTokenSecretManager.

Prototype

public JobTokenSecretManager() 

Source Link

Document

Default constructor

Usage

From source file:org.apache.giraph.comm.netty.handler.SaslServerHandler.java

License:Apache License

/**
 * Load Hadoop Job Token into secret manager.
 *
 * @param conf Configuration//from   ww  w.  j a v  a2s  .  com
 * @throws IOException
 */
private void setupSecretManager(Configuration conf) throws IOException {
    secretManager = new JobTokenSecretManager();
    String localJobTokenFile = System.getenv().get(UserGroupInformation.HADOOP_TOKEN_FILE_LOCATION);
    if (localJobTokenFile == null) {
        throw new IOException("Could not find job credentials: environment " + "variable: "
                + UserGroupInformation.HADOOP_TOKEN_FILE_LOCATION + " was not defined.");
    }
    JobConf jobConf = new JobConf(conf);

    // Find the JobTokenIdentifiers among all the tokens available in the
    // jobTokenFile and store them in the secretManager.
    Credentials credentials = TokenCache.loadTokens(localJobTokenFile, jobConf);
    Collection<Token<? extends TokenIdentifier>> collection = credentials.getAllTokens();
    for (Token<? extends TokenIdentifier> token : collection) {
        TokenIdentifier tokenIdentifier = decodeIdentifier(token, JobTokenIdentifier.class);
        if (tokenIdentifier instanceof JobTokenIdentifier) {
            Token<JobTokenIdentifier> theToken = (Token<JobTokenIdentifier>) token;
            JobTokenIdentifier jobTokenIdentifier = (JobTokenIdentifier) tokenIdentifier;
            secretManager.addTokenForJob(jobTokenIdentifier.getJobId().toString(), theToken);
        }
    }
    if (LOG.isDebugEnabled()) {
        LOG.debug("loaded JobToken credentials: " + credentials + " from " + "localJobTokenFile: "
                + localJobTokenFile);
    }
}