尝试使用masterURL=yarn-client
. 使用 SparkLauncher 2.10。Java 代码封装在 nifi 处理器中。Nifi 当前以 root 身份运行。当我执行 yarn application -list 时,我看到 spark 作业以USER = root
. 我想用USER = hive
. 以下是我的 SparkLauncher 代码。
Process spark = new SparkLauncher()
.setSparkHome(cp.fetchProperty(GlobalConstant.spark_submit_work_dir).toString())
.setAppResource(cp.fetchProperty(GlobalConstant.spark_app_resource))
.setMainClass(cp.fetchProperty(GlobalConstant.spark_main_class))
.addAppArgs(ps.getName())
// .setConf(SparkLauncher.DRIVER_EXTRA_JAVA_OPTIONS,"-Duser.name=hive")
.setConf(SparkLauncher.DRIVER_EXTRA_JAVA_OPTIONS, "-Dlog4j.configuration=file:///opt/eim/log4j_submitgnrfromhdfs.properties")
.setVerbose(true)
.launch();
我是否需要将用户作为驱动程序额外选项传递?环境是非kerberos。在某处阅读我需要将用户名作为驱动程序额外的 java 选项传递。现在找不到那个帖子了!!