繁体   English   中英

在不安全的 YARN 集群中运行 Spark 时访问安全的 Hive

[英]Access a secured Hive when running Spark in an unsecured YARN cluster

我们有两个 cloudera 5.7.1 集群,一个使用 Kerberos 保护,一个不安全。

在访问存储在安全集群中的 hive 表时,是否可以使用不安全的 YARN 集群运行 Spark? (Spark 版本是 1.6)

如果是这样,您能否提供一些有关如何配置它的解释?

更新:

我想稍微解释一下我的问题背后的最终目标。 我们的主要安全集群被大量使用,我们的工作无法在合理的时间内获得足够的资源来完成。 为了克服这个问题,我们希望使用来自另一个不安全集群的资源,而无需在集群之间复制数据。

我们知道这不是最好的解决方案,因为数据局部性级别可能不是最佳的,但这是我们现在可以提出的最佳解决方案。

如果您有任何其他解决方案,请告诉我,因为我们似乎无法实现上述目标。

如果你在本地模式下运行 Spark,你可以让它使用任意一组 Hadoop conf 文件——即core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xmlhive-site.xml从 Kerberized 集群复制的hive-site.xml
因此,您可以访问集群上的 HDFS——当然如果您有 Kerberos 票证授予您访问该集群的权限。

  export HADOOP_CONF_DIR=/path/to/conf/of/remote/kerberized/cluster
  kinit sylvestre@WORLD.COMPANY
  spark-shell --master local[*]

但是在yarn-client 或 yarn-cluster 模式下,您不能在本地集群中启动容器并在其他集群中访问 HDFS。

  • 要么你使用本地core-site.xmlhadoop.security.authentication is simple ,你可以连接到本地 YARN/HDFS
  • 或者您指向远程core-site.xml的副本,该副本表示hadoop.security.authenticationkerberos ,并且您可以连接到远程 YARN/HDFS
  • 但是你不能使用本地的、不安全的 YARN 并访问远程、安全的 HDFS

请注意,使用 unsecure-unsecure 或 secure-secure 组合,您可以通过修改您自己的自定义hdfs-site.xml来定义多个命名空间访问另一个集群中的 HDFS。 但是您坚持使用单一的身份验证模型。
[编辑]参见 Mighty Steve Loughran 关于额外 Spark 属性的评论,用于从本地安全集群访问远程安全 HDFS。

另请注意,使用 DistCp 时,您会遇到同样的问题——除了有一个“作弊”属性可以让您从安全到不安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM