[英]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.xml
、 hdfs-site.xml
、 mapred-site.xml
、 yarn-site.xml
、 hive-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.xml
说hadoop.security.authentication
is simple
,你可以连接到本地 YARN/HDFScore-site.xml
的副本,该副本表示hadoop.security.authentication
是kerberos
,并且您可以连接到远程 YARN/HDFS 请注意,使用 unsecure-unsecure 或 secure-secure 组合,您可以通过修改您自己的自定义hdfs-site.xml
来定义多个命名空间来访问另一个集群中的 HDFS。 但是您坚持使用单一的身份验证模型。
[编辑]参见 Mighty Steve Loughran 关于额外 Spark 属性的评论,用于从本地安全集群访问远程安全 HDFS。
另请注意,使用 DistCp 时,您会遇到同样的问题——除了有一个“作弊”属性可以让您从安全到不安全。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.