masterURL=yarn-client
でスパークジョブを実行しようとしています。 SparkLauncher 2.10を使用します。 Javaコードはnifiプロセッサーでラップされています。 Nifiは現在ルートとして実行されています。私が糸の塗布リストをするとき、私はUSER = root
で始まるスパークジョブを見る。私はUSER = hive
でそれを実行したいです。 以下は私のSparkLauncherコードです。SparkLauncherハイブとしてユーザーと一緒に糸クライアントでspark-submitを実行
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();
ドライバの追加オプションとしてユーザーを渡す必要がありますか?環境は非ケルベロスです。 ドライバの追加Javaオプションとしてユーザー名を渡す必要がある場所を読んでください。その投稿を今見つけることができません!!
'輸出HADOOP_USER_NAME = hive' –
で意図したとおりに
yarn application -list
起動をチェック以下代わりの
new SparkLancher()
SparkLauncher(java.util.Map<String,String> env).
追加を使用したりHADOOP_USER_NAME=hive.
を置き換えをしたあなたは、記録のためにspark.yarn.principal – vgunnu