Apache spark 使用kerberos:stagingdir无法读取纱线和CephFS上的Spark提交

Apache spark 使用kerberos:stagingdir无法读取纱线和CephFS上的Spark提交,apache-spark,hadoop,yarn,Apache Spark,Hadoop,Yarn,我有一个简单的设置,其中有一台运行安全资源和节点管理器的机器。 集群在组hadoop中作为warn运行。此计算机可以访问/ceph/中的cephFS文件夹 我有一台安装了spark的机器,它在组hadoop中为用户spark提供了一个键选项卡 Spark staging dir是/ceph/Spark/.sparkStaging/自己的Spark:hadoop 我已尝试按如下方式设置spark ACL: spark.acls.enable true spark.admin.acls spark,

我有一个简单的设置,其中有一台运行安全资源和节点管理器的机器。
集群在组
hadoop
中作为
warn
运行。此计算机可以访问
/ceph/
中的cephFS文件夹
我有一台安装了spark的机器,它在组
hadoop
中为用户
spark
提供了一个键选项卡
Spark staging dir是
/ceph/Spark/.sparkStaging/
自己的
Spark:hadoop

我已尝试按如下方式设置spark ACL:

spark.acls.enable true
spark.admin.acls spark,yarn
spark.admin.acls.groups hadoop
spark.ui.view.acls spark,yarn
spark.ui.view.acls.groups hadoop
spark.modify.acls spark,yarn
spark.modify.acls.groups hadoop
但是,在使用spark submit进行简单的sparkpie运行时,我最终得到了:

$SPARK_HOME/bin/spark-submit --master yarn --deploy-mode cluster  --principal spark --keytab spark.test.keytab --class SparkPi sparkpi_2.10-1.0.jar 10 
[...]
INFO spark.SecurityManager: Changing view acls to: spark,yarn
INFO spark.SecurityManager: Changing modify acls to: spark,yarn
INFO spark.SecurityManager: Changing view acls groups to: hadoop
INFO spark.SecurityManager: Changing modify acls groups to: hadoop
INFO spark.SecurityManager: SecurityManager: authentication disabled; ui acls enabled; users  with view permissions: Set(spark, yarn); groups with view permissions: Set(hadoop); users  with modify permissions: Set(spark, yarn); groups with modify permissions: Set(hadoop)
INFO security.HadoopDelegationTokenManager: Attempting to login to KDC using principal: spark
INFO security.HadoopDelegationTokenManager: Successfully logged into KDC.

[...]
Failing this attempt.Diagnostics: File file:/ceph/spark/.sparkStaging/application_1619691827872_0016/spark.test.keytab does not exist
[...]
问题是,当spark将其staging dir上传到cephFS时,除了spark之外,任何人都无法读取应用程序目录:

ls -la .sparkStaging/
drwx------ 1 spark hadoop   8 Apr 29 12:48 application_1619691827872_0006
是否有什么我误解的方式提交作业作为一个用户,而不是纱线到纱线安全集群? 是否可以在不使用HDFS和CEPFS的情况下使用kerberized纱线簇?如果是,怎么做?
多谢各位

PS:用户帐户是所有机器上的系统用户帐户,我正在使用org.apache.spark.security.ShellBasedGroupsMappingProvider对Thread和spark进行匹配,以匹配用户/组