是否可以将 Spark 作业提交到 yarn 簇并通过命令行或在广口瓶内选择哪个用户将“拥有”该作业?
Spark 提交将从包含用户的脚本启动。
PS:如果集群具有kerberos配置(脚本为keytab),仍然可行吗?
最佳答案
对于非kerberized集群:提交Spark作业之前的export HADOOP_USER_NAME=zorro
可以解决问题。
如果要在其余的Shell脚本(或交互式Shell session )中恢复为默认凭据,请确保在此之后添加unset HADOOP_USER_NAME
。
对于 kerberized集群,在此行中可以使用一种干净的方法来模拟另一个帐户而不浪费您的其他作业/ session (可能取决于您的默认票证)。
export KRB5CCNAME=FILE:/tmp/krb5cc_$(id -u)_temp_$$
kinit -kt ~/.protectedDir/zorro.keytab zorro@MY.REALM
spark-submit ...........
kdestroy