2

我有一个火花驱动程序,我正在尝试为其设置 alluxio 用户。

我读了这篇文章:如何将 -D 参数或环境变量传递给 Spark 作业?尽管有帮助,但其中的任何方法似乎都没有奏效。

我的环境:

- Spark-2.2
- Alluxio-1.4
- packaged jar passed to spark-submit

spark-submit 作业以 root 身份运行(在 supervisor 下),alluxio 只识别这个用户。

这是我尝试添加“-Dalluxio.security.login.username=alluxio”的地方:

  • spark-defaults.conf 中的 spark.driver.extraJavaOptions
  • 在 spark-submit 的命令行上(使用 --conf)
  • 在我的 jar 应用程序的 sparkservices conf 文件中
  • 在我的 jar 应用程序中名为“alluxio-site.properties”的新文件中

这些工作都没有为alluxio设置用户,尽管我可以很容易地在另一个也写入alluxio的(非spark)客户端应用程序中设置这个属性。

任何人都可以将此设置应用于 spark-submit 工作?

4

1 回答 1

1

如果 spark-submit 处于客户端模式,您应该使用--driver-java-options而不是--conf spark.driver.extraJavaOptions=...为了让驱动程序 JVM 以所需的选项启动。因此,您的命令将类似于:

./bin/spark-submit ... --driver-java-options "-Dalluxio.security.login.username=alluxio" ...

这应该使用所需的 Java 选项启动驱动程序。

如果 Spark 执行器也需要该选项,您可以使用以下命令进行设置:

--conf "spark.executor.extraJavaOptions=-Dalluxio.security.login.username=alluxio"

于 2017-05-05T13:51:48.483 回答