页面树结构

2017-07-25 Apache Spark 2.2.0 官方文档中文版发布 : http://spark.apachecn.org/docs/cn/2.2.0/


MachineLearning 优酷地址 : http://i.youku.com/apachecn

转至元数据结尾
转至元数据起始

如 security 所讲的,Kerberos 被应用在安全的 Hadoop 集群中去验证与服务和客户端相关联的 principals。 这允许客户端请求这些已验证的服务; 向授权的 principals 授予请求服务的权利。

Hadoop 服务发出 hadoop tokens 去授权访问服务和数据。 客户端必须首先获取它们将要访问的服务的 tokens,当启动应用程序时,将它和应用程序一起发送到 YAYN 集群中。

如果 Spark 应用程序与 HDFSHBaseHive 进行交互,它必须使用启动应用程序的用户的 Kerberos 凭据获取相关 tokens,也就是说身份将成为已启动的 Spark 应用程序的 principal

这通常在启动时完成 : 在安全集群中,Spark 将自动为集群的 HDFS 文件系统获取 tokens,也可能为 HBaseHive 获取。

如果 HBase 在类路径中,HBase 配置声明应用程序是安全的(即 hbase-site.xml hbase.security.authentication 设置为 kerberos),并且 spark.yarn.security.tokens.hbase.enabled 未设置为 falseHBase tokens 将被获得。

类似地,如果 Hive 在类路径上,其配置包括元数据存储的 URIhive.metastore.uris),并且 spark.yarn.security.tokens.hive.enabled 未设置为 false,则将获得 Hive token(令牌)。

如果应用程序需要与其他安全 HDFS 集群交互,则在启动时必须显式请求访问这些集群所需的 tokens。 这是通过将它们列在 spark.yarn.access.namenodes 属性中来实现的。

spark.yarn.access.namenodes hdfs://ireland.example.org:8020/,hdfs://frankfurt.example.org:8020/

Spark 支持通过 Java Services 机智(请看 java.util.ServiceLoader)与其它的具有安全性的服务来进行集成。为了实现该目标,通过在 jar 的 META-INF/services 目录中列出相应 org.apache.spark.deploy.yarn.security.ServiceCredentialProvider 的实现的名字就可应用到 Spark。这些插件可以通过设置 spark.yarn.security.tokens.{service}.enabledfalse 来禁用,这里的 {service} credential provider(凭证提供者)的名字。