gpt4 book ai didi

hadoop - Kerberized 集群中的 Spark History Server 身份验证

转载 作者:可可西里 更新时间:2023-11-01 14:22:48 31 4
gpt4 key购买 nike

我设置了一个 HDP 集群,其中包含 Spark。我还为集群启用了 Kerberos,因此所有服务和用户都必须通过其主体进行身份验证。

这似乎工作正常,所有服务都在运行,并且用户必须获得有效的 Kerberos 票证才能访问,例如YARN ResourceManager 的 Web UI。

否则他会收到这样的错误消息:

enter image description here

但是,在创建一个 kinit 之后,用户可以访问该网站。

我现在想要做的(我认为它已经是),也是像那样保护 Spark History Server UI,以便用户必须通过 Kerberos 票证进行身份验证。实际上每个人都可以在没有身份验证的情况下访问 UI: enter image description here

有没有可能做到这一点?如果是,我该如何配置?

spark.eventLog.dir = hdfs:///spark-history 的实际权限是 777。这是 Ambari HDFS View 的屏幕截图: enter image description here

最佳答案

我在 IBM's documentation 中找到了解决方案

您将 Hadoop 的 jetty 身份验证过滤器重新用于 Kerberos/SPNEGO org.apache.hadoop.security.authentication.server.AuthenticationFilter

你可以在 Spark 的 default.conf 中设置spark.ui.filters=org.apache.hadoop.security.authentication.server.AuthenticationFilterspark.org.apache.hadoop.security.authentication.server.AuthenticationFilter.params=
type=kerberos,kerberos.principal=${spnego_principal_name},kerberos.keytab=${spnego_keytab_path}
小心那些替换变量,在 Ambari 中设置这些值时它们对我不起作用。还可以考虑添加类似于其他 Hadoop SPNEGO 配置的 cookie.domainsignature.secret.file

显然,这仅在 Spark History Server 与类路径中的 Hadoop 类一起运行时才有效——因此,对于 SMACK 堆栈而言,它不是开箱即用的解决方案。

关于hadoop - Kerberized 集群中的 Spark History Server 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41608019/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com