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

时间:2017-03-07 14:14:27

标签: hadoop apache-spark yarn

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

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

如果是这样,请您解释一下如何配置它?

更新

我想解释一下我的问题背后的最终目标。我们的主要安全集群利用率很高,我们的工作无法在合理的时间内获得足够的资源。为了解决这个问题,我们希望使用来自另一个不安全群集的资源,我们没有需要在群集之间复制数据。

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

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

1 个答案:

答案 0 :(得分:3)

如果您在本地模式中运行Spark,则可以使其使用任意一组Hadoop配置文件 - 即h2.offer-image-title { color: red; border: 0; text-align: center; font-size: 36px; display: inline-block; padding: 0; margin: 0; padding-top: 32%; position: absolute; z-index: 15; top: 0px; left: 0px; } core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml从Kerberized群集中复制。
因此,您可以访问 群集上的HDFS - 如果您有Kerberos票证可授予您访问权限当然是那个集群。

hive-site.xml

但是在纱线客户端或纱线群集模式中,您无法在本地群集中启动容器并在另一个群集中访问HDFS。

  • 使用表示 export HADOOP_CONF_DIR=/path/to/conf/of/remote/kerberized/cluster kinit sylvestre@WORLD.COMPANY spark-shell --master local[*] core-site.xml的本地hadoop.security.authentication,您可以连接到本地YARN / HDFS
  • 或者您指向远程simple的副本,其中core-site.xmlhadoop.security.authentication,您可以连接到远程YARN / HDFS
  • 但您无法使用本地不安全的YARN并访问远程,安全的HDFS

请注意,使用不安全 - 不安全或安全 - 安全组合,您可以访问另一个群集中的HDFS,方法是通过黑客攻击自定义kerberos来定义多个命名空间。但是您仍然坚持使用单一的身份验证模式。
[edit] 请参阅Mighty Steve Loughran关于通过本地安全访问远程安全HDFS的额外Spark属性的评论群集。

另请注意,使用DistCp时,您会遇到同样的问题 - 除了那些"作弊"允许您从安全到不安全的财产。