我们有两个cloudera 5.7.1群集,一个使用Kerberos保护,一个不安全。
在访问存储在安全群集中的hive表时,是否可以使用不安全的YARN群集运行Spark? (Spark版本是1.6)
如果是这样,请您解释一下如何配置它?
更新
我想解释一下我的问题背后的最终目标。我们的主要安全集群利用率很高,我们的工作无法在合理的时间内获得足够的资源。为了解决这个问题,我们希望使用来自另一个不安全群集的资源,我们没有需要在群集之间复制数据。
我们知道它不是最佳解决方案,因为数据位置级别可能不是最佳的,但这是我们现在可以提出的最佳解决方案。
如果您有任何其他解决方案,请告诉我,因为我们似乎无法实现上述目标。
答案 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.xml
,hdfs-site.xml
,mapred-site.xml
,yarn-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.xml
为hadoop.security.authentication
,您可以连接到远程YARN / HDFS 请注意,使用不安全 - 不安全或安全 - 安全组合,您可以访问另一个群集中的HDFS,方法是通过黑客攻击自定义kerberos
来定义多个命名空间。但是您仍然坚持使用单一的身份验证模式。
[edit] 请参阅Mighty Steve Loughran关于通过本地安全访问远程安全HDFS的额外Spark属性的评论群集。
另请注意,使用DistCp时,您会遇到同样的问题 - 除了那些"作弊"允许您从安全到不安全的财产。