我有一个火花驱动程序,我正在尝试设置alluxio用户。
我读过这篇文章:How to pass -D parameter or environment variable to Spark job?虽然有帮助,但其中没有任何方法可以解决问题。
我的环境:
- Spark-2.2
- Alluxio-1.4
- packaged jar passed to spark-submit
spark-submit作业以root身份运行(在主管下),alluxio只识别该用户。
这是我尝试添加“-Dalluxio.security.login.username = alluxio”的地方:
这些工作都没有为alluxio设置用户,尽管我很容易在另一个(非火花)客户端应用程序中设置此属性,该应用程序也写入alluxio。
任何能够进行此设置的人都可以申请火花提交工作吗?
答案 0 :(得分: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"