commit accee3b0c1b3b9c5c2d1734a0c2063ee2749c9c1 Author: Eric Yang Date: Fri Feb 2 21:48:07 2018 -0500 YARN-7889. Added kerberos token to authenticate with YARN service end point. (Contributed by Eric Yang) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services-api/src/main/java/org/apache/hadoop/yarn/service/client/ApiServiceClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services-api/src/main/java/org/apache/hadoop/yarn/service/client/ApiServiceClient.java index 6beb74c..6b396c4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services-api/src/main/java/org/apache/hadoop/yarn/service/client/ApiServiceClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services-api/src/main/java/org/apache/hadoop/yarn/service/client/ApiServiceClient.java @@ -98,6 +98,10 @@ private String getRMWebAddress() { Client client = Client.create(); WebResource webResource = client .resource(sb.toString()); + if (conf.get("hadoop.security.authentication").equals("kerberos")) { + AuthenticatedURL.Token token = new AuthenticatedURL.Token(); + webResource.header("WWW-Authenticate", token); + } String test = webResource.get(String.class); if (test.contains("hadoop_version")) { rmAddress = host;