From 926cf6ae75b92ff70d585b3b8751d85a63bc7734 Mon Sep 17 00:00:00 2001 From: Jeff Zhang Date: Thu, 18 Aug 2016 09:59:10 +0800 Subject: [PATCH] [SPARK-17121][SPARKSUBMIT] Support _HOST replacement for principal --- .../org/apache/spark/deploy/SparkSubmitArguments.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/main/scala/org/apache/spark/deploy/SparkSubmitArguments.scala b/core/src/main/scala/org/apache/spark/deploy/SparkSubmitArguments.scala index f1761e7c1ec92..c273e2e543e1a 100644 --- a/core/src/main/scala/org/apache/spark/deploy/SparkSubmitArguments.scala +++ b/core/src/main/scala/org/apache/spark/deploy/SparkSubmitArguments.scala @@ -28,6 +28,8 @@ import scala.collection.JavaConverters._ import scala.collection.mutable.{ArrayBuffer, HashMap} import scala.io.Source +import org.apache.hadoop.security.SecurityUtil + import org.apache.spark.deploy.SparkSubmitAction._ import org.apache.spark.launcher.SparkSubmitArgumentsParser import org.apache.spark.util.Utils @@ -186,7 +188,9 @@ private[deploy] class SparkSubmitArguments(args: Seq[String], env: Map[String, S .getOrElse(sparkProperties.get("spark.executor.instances").orNull) keytab = Option(keytab).orElse(sparkProperties.get("spark.yarn.keytab")).orNull principal = Option(principal).orElse(sparkProperties.get("spark.yarn.principal")).orNull - + if (principal != null) { + principal = SecurityUtil.getServerPrincipal(principal, "0.0.0.0") + } // Try to set main class from JAR if no --class argument is given if (mainClass == null && !isPython && !isR && primaryResource != null) { val uri = new URI(primaryResource)