【问题标题】:Spark History Server Authentication in Kerberized ClusterKerberized 集群中的 Spark 历史服务器身份验证
【发布时间】:2017-01-12 08:09:00
【问题描述】:

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

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

否则他会收到如下错误消息:

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

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

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

spark.eventLog.dir = hdfs:///spark-history 的实际权限为777。这是 Ambari HDFS 视图的屏幕截图:

【问题讨论】:

  • 这个问题虽然很有趣,但对于 SO 格式来说似乎有点宽泛。你能缩小一点吗?

标签: hadoop apache-spark kerberos hortonworks-data-platform


【解决方案1】:

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

您为 Kerberos/SPNEGO org.apache.hadoop.security.authentication.server.AuthenticationFilter 重复使用 Hadoop 的码头身份验证过滤器

你可以通过在 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 中设置这些值时它们对我不起作用。还可以考虑添加 cookie.domainsignature.secret.file,类似于其他 Hadoop SPNEGO 配置。

显然,这仅在 Spark History Server 在其类路径中使用 Hadoop 类运行时才有效,因此它不是 SMACK 堆栈的开箱即用解决方案。

【讨论】:

    猜你喜欢
    • 2018-06-03
    • 2016-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多