From f2284f44ddaa086d60b1a917b0bfff461a2f9287 Mon Sep 17 00:00:00 2001 From: Junping Du Date: Tue, 29 Nov 2016 15:51:27 -0800 Subject: [PATCH] MAPREDUCE-6565. Configuration to use host name in delegation token service is not read from job.xml during MapReduce job execution. Contributed by Li Lu. (cherry picked from commit 8f6e14399a3e77e1bdcc5034f7601e9f62163dea) (cherry picked from commit 376a2439db9cd55ed1f2965cd876b811109990ba) (cherry picked from commit 05a570a1981597ab8d2615ed4752e63f0a21b32b) --- .../src/main/java/org/apache/hadoop/mapred/YarnChild.java | 2 ++ .../java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java index 164f19dc2f1..97642a5479f 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapred/YarnChild.java @@ -78,6 +78,8 @@ class YarnChild { // Initing with our JobConf allows us to avoid loading confs twice Limits.init(job); UserGroupInformation.setConfiguration(job); + // MAPREDUCE-6565: need to set configuration for SecurityUtil. + SecurityUtil.setConfiguration(job); String host = args[0]; int port = Integer.parseInt(args[1]); diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java index 0b7decc9a5a..32944a01c83 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/MRAppMaster.java @@ -121,6 +121,7 @@ import org.apache.hadoop.mapreduce.v2.util.MRBuilderUtils; import org.apache.hadoop.mapreduce.v2.util.MRWebAppUtil; import org.apache.hadoop.metrics2.lib.DefaultMetricsSystem; import org.apache.hadoop.security.Credentials; +import org.apache.hadoop.security.SecurityUtil; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.security.token.Token; import org.apache.hadoop.service.AbstractService; @@ -1618,6 +1619,8 @@ public class MRAppMaster extends CompositeService { final JobConf conf, String jobUserName) throws IOException, InterruptedException { UserGroupInformation.setConfiguration(conf); + // MAPREDUCE-6565: need to set configuration for SecurityUtil. + SecurityUtil.setConfiguration(conf); // Security framework already loaded the tokens into current UGI, just use // them Credentials credentials =