This is an automated email from the ASF dual-hosted git repository.
chengpan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new 5f8b57be5 [KYUUBI #3664] [SPARK][K8S][BATCH] Kyuubi should set env
SPARK_USER_NAME on submitting Spark batch job to K8s
5f8b57be5 is described below
commit 5f8b57be53060eaddca4f153e74b50726bdff43f
Author: zwangsheng <[email protected]>
AuthorDate: Thu Oct 20 13:47:32 2022 +0800
[KYUUBI #3664] [SPARK][K8S][BATCH] Kyuubi should set env SPARK_USER_NAME on
submitting Spark batch job to K8s
### _Why are the changes needed?_
Batch job should also submit with `SPARK_USER_NAME`.
See more in pre pr #3527 .
### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including
negative and positive cases if possible
- [ ] Add screenshots for manual tests if appropriate
- [x] [Run
test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests)
locally before make a pull request
Closes #3664 from zwangsheng/feature/batch_with_user_name.
Closes #3664
76dee3e3 [zwangsheng] style
0d405082 [zwangsheng] fix
a1fcf7fa [zwangsheng] fix
Authored-by: zwangsheng <[email protected]>
Signed-off-by: Cheng Pan <[email protected]>
---
.../engine/spark/SparkBatchProcessBuilder.scala | 1 +
.../kyuubi/engine/spark/SparkProcessBuilder.scala | 27 +++++++++++-----------
2 files changed, 14 insertions(+), 14 deletions(-)
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 89ce84180..e7de6baa4 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 052887c92..cd12dbd36 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 {