|
@@ -34,14 +34,13 @@ import java.net.URISyntaxException;
|
|
import java.net.URL;
|
|
import java.net.URL;
|
|
import java.net.URLConnection;
|
|
import java.net.URLConnection;
|
|
import java.net.UnknownHostException;
|
|
import java.net.UnknownHostException;
|
|
|
|
+import java.security.PrivilegedExceptionAction;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.Collection;
|
|
import java.util.Collection;
|
|
import java.util.Comparator;
|
|
import java.util.Comparator;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
|
-import java.security.PrivilegedExceptionAction;
|
|
|
|
-
|
|
|
|
import org.apache.commons.logging.Log;
|
|
import org.apache.commons.logging.Log;
|
|
import org.apache.commons.logging.LogFactory;
|
|
import org.apache.commons.logging.LogFactory;
|
|
import org.apache.hadoop.conf.Configuration;
|
|
import org.apache.hadoop.conf.Configuration;
|
|
@@ -54,7 +53,6 @@ import org.apache.hadoop.fs.FileSystem;
|
|
import org.apache.hadoop.fs.FileUtil;
|
|
import org.apache.hadoop.fs.FileUtil;
|
|
import org.apache.hadoop.fs.Path;
|
|
import org.apache.hadoop.fs.Path;
|
|
import org.apache.hadoop.fs.permission.FsPermission;
|
|
import org.apache.hadoop.fs.permission.FsPermission;
|
|
-import org.apache.hadoop.mapreduce.security.token.delegation.DelegationTokenIdentifier;
|
|
|
|
import org.apache.hadoop.hdfs.DFSClient;
|
|
import org.apache.hadoop.hdfs.DFSClient;
|
|
import org.apache.hadoop.io.IOUtils;
|
|
import org.apache.hadoop.io.IOUtils;
|
|
import org.apache.hadoop.io.Text;
|
|
import org.apache.hadoop.io.Text;
|
|
@@ -68,14 +66,16 @@ import org.apache.hadoop.mapreduce.InputSplit;
|
|
import org.apache.hadoop.mapreduce.JobContext;
|
|
import org.apache.hadoop.mapreduce.JobContext;
|
|
import org.apache.hadoop.mapreduce.JobSubmissionFiles;
|
|
import org.apache.hadoop.mapreduce.JobSubmissionFiles;
|
|
import org.apache.hadoop.mapreduce.security.TokenCache;
|
|
import org.apache.hadoop.mapreduce.security.TokenCache;
|
|
|
|
+import org.apache.hadoop.mapreduce.security.token.delegation.DelegationTokenIdentifier;
|
|
import org.apache.hadoop.mapreduce.split.JobSplitWriter;
|
|
import org.apache.hadoop.mapreduce.split.JobSplitWriter;
|
|
import org.apache.hadoop.net.NetUtils;
|
|
import org.apache.hadoop.net.NetUtils;
|
|
import org.apache.hadoop.security.AccessControlException;
|
|
import org.apache.hadoop.security.AccessControlException;
|
|
import org.apache.hadoop.security.Credentials;
|
|
import org.apache.hadoop.security.Credentials;
|
|
|
|
+import org.apache.hadoop.security.SecurityUtil;
|
|
import org.apache.hadoop.security.UserGroupInformation;
|
|
import org.apache.hadoop.security.UserGroupInformation;
|
|
import org.apache.hadoop.security.authorize.AccessControlList;
|
|
import org.apache.hadoop.security.authorize.AccessControlList;
|
|
-import org.apache.hadoop.security.token.Token;
|
|
|
|
import org.apache.hadoop.security.token.SecretManager.InvalidToken;
|
|
import org.apache.hadoop.security.token.SecretManager.InvalidToken;
|
|
|
|
+import org.apache.hadoop.security.token.Token;
|
|
import org.apache.hadoop.util.ReflectionUtils;
|
|
import org.apache.hadoop.util.ReflectionUtils;
|
|
import org.apache.hadoop.util.StringUtils;
|
|
import org.apache.hadoop.util.StringUtils;
|
|
import org.apache.hadoop.util.Tool;
|
|
import org.apache.hadoop.util.Tool;
|
|
@@ -1945,13 +1945,7 @@ public class JobClient extends Configured implements MRConstants, Tool {
|
|
getDelegationToken(Text renewer) throws IOException, InterruptedException {
|
|
getDelegationToken(Text renewer) throws IOException, InterruptedException {
|
|
Token<DelegationTokenIdentifier> result =
|
|
Token<DelegationTokenIdentifier> result =
|
|
jobSubmitClient.getDelegationToken(renewer);
|
|
jobSubmitClient.getDelegationToken(renewer);
|
|
- InetSocketAddress addr = JobTracker.getAddress(getConf());
|
|
|
|
- StringBuilder service = new StringBuilder();
|
|
|
|
- service.append(NetUtils.normalizeHostName(addr.getAddress().
|
|
|
|
- getHostAddress()));
|
|
|
|
- service.append(':');
|
|
|
|
- service.append(addr.getPort());
|
|
|
|
- result.setService(new Text(service.toString()));
|
|
|
|
|
|
+ SecurityUtil.setTokenService(result, JobTracker.getAddress(getConf()));
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|