diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala index 89ce8418077..e7de6baa449 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkBatchProcessBuilder.scala @@ -54,6 +54,7 @@ class SparkBatchProcessBuilder( buffer += s"${convertConfigKey(k)}=$v" } + setSparkUserName(proxyUser, buffer) buffer += PROXY_USER buffer += proxyUser diff --git a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala index 052887c927b..cd12dbd36c4 100644 --- a/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala +++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/engine/spark/SparkProcessBuilder.scala @@ -91,26 +91,14 @@ class SparkProcessBuilder( buffer += s"${convertConfigKey(k)}=$v" } - // For spark on kubernetes, spark pod using env SPARK_USER_NAME as current user - def setSparkUserName(userName: String): Unit = { - clusterManager().foreach(cm => { - if (cm.startsWith("k8s://")) { - buffer += CONF - buffer += s"spark.kubernetes.driverEnv.SPARK_USER_NAME=$userName" - buffer += CONF - buffer += s"spark.executorEnv.SPARK_USER_NAME=$userName" - } - }) - } - // if the keytab is specified, PROXY_USER is not supported tryKeytab() match { case None => - setSparkUserName(proxyUser) + setSparkUserName(proxyUser, buffer) buffer += PROXY_USER buffer += proxyUser case Some(name) => - setSparkUserName(name) + setSparkUserName(name, buffer) } mainResource.foreach { r => buffer += r } @@ -185,6 +173,17 @@ class SparkProcessBuilder( override def validateConf: Unit = Validator.validateConf(conf) + // For spark on kubernetes, spark pod using env SPARK_USER_NAME as current user + def setSparkUserName(userName: String, buffer: ArrayBuffer[String]): Unit = { + clusterManager().foreach { cm => + if (cm.toUpperCase.startsWith("K8S")) { + buffer += CONF + buffer += s"spark.kubernetes.driverEnv.SPARK_USER_NAME=$userName" + buffer += CONF + buffer += s"spark.executorEnv.SPARK_USER_NAME=$userName" + } + } + } } object SparkProcessBuilder {