Ben*_*min 9 hadoop kerberos hadoop-yarn apache-spark
是否可以向纱线群集提交火花作业,并使用命令行或罐子内部选择哪个用户"拥有"该作业?
spark-submit将从包含用户的脚本启动.
PS:如果集群有kerberos配置(并且脚本是密钥表),它仍然可能吗?
对于非 kerberized 集群:export HADOOP_USER_NAME=zorro在提交 Spark 作业之前就行了。unset HADOOP_USER_NAME如果您想在 shell 脚本的其余部分(或交互式 shell 会话)中恢复到默认凭据,
请确保之后进行。
对于kerberized 集群,在不破坏其他作业/会话(可能取决于您的默认票证)的情况下模拟另一个帐户的干净方式将是这一行...
export KRB5CCNAME=FILE:/tmp/krb5cc_$(id -u)_temp_$$
kinit -kt ~/.protectedDir/zorro.keytab zorro@MY.REALM
spark-submit ...........
kdestroy
Run Code Online (Sandbox Code Playgroud)
对于非 kerberized 集群,您可以将 Spark conf 添加为:
--conf spark.yarn.appMasterEnv.HADOOP_USER_NAME=<user_name>
Run Code Online (Sandbox Code Playgroud)
小智 1
如果您的用户存在,您仍然可以使用 su $my_user -c Spark Submit [...] 启动 Spark 提交
我不确定 kerberos keytab,但如果你用这个用户创建 kinit 应该没问题。
如果您因为不需要密码而无法使用 su,我邀请您查看此 stackoverflow 答案: how to run script as another user withoutpassword
| 归档时间: |
|
| 查看次数: |
9612 次 |
| 最近记录: |