Spark-submit如何设置user.name

时间:2017-02-06 16:28:36

标签: hadoop apache-spark hadoop2

想要设置

mapreduce.job.user.name=myuser

尝试

spark-submit  --class com.MyClass
--conf mapreduce.job.user.name=myuser \ 
--conf spark.mapreduce.job.user.name=myuser \
--master yarn  \
--deploy-mode cluster \

也试过

--conf user.name

在Spark UI的环境中 示出

user.name yarn

3 个答案:

答案 0 :(得分:1)

在 Spark 3 中,将 SPARK_USER 设置为系统属性。

https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/util/Utils.scala

  /**
   * Returns the current user name. This is the currently logged in user, unless that's been
   * overridden by the `SPARK_USER` environment variable.
   */
  def getCurrentUserName(): String = {
    Option(System.getenv("SPARK_USER"))
      .getOrElse(UserGroupInformation.getCurrentUser().getShortUserName())
  }

答案 1 :(得分:0)

设为Runtime-Environment Variable

尝试:

--conf spark.executorEnv.mapreduce.job.user.name=myuser
  

spark.executorEnv.[EnvironmentVariableName] - 添加环境   由EnvironmentVariableName指定给Executor进程的变量。   用户可以指定其中的多个来设置多个环境   变量

答案 2 :(得分:0)

sudo -su username spark-submit --class com.MyClass

这对我有用。