Apache Spark:具有不同配置节点的群集

问题描述 投票:1回答:1

我有一个生产盒,其中有14个节点。在其中的14个节点中,有12个具有相同的配置,其中的2个具有更高的配置(几乎是3倍),因此1>是否会影响spark的整体资源利用率。2>如何利用仅从这两个节点可用的额外内存。3>同样,如果在此过程中,我的rdd>可用资源,它将对内存中的任务进行部分处理,并再次从HDFS剩余数据中加载。那么如何克服这种情况以获得最佳性能

apache-spark hdfs cluster-computing mapr
1个回答
0
投票

您的问题确实提出了三个问题:

1)在分布计算中,spark的行为将是什么?>

2)I / O负载和数据如何在整个集群中分配

3)您使用的是MapR(由标签表示)还是HDFS(由标签和问题文本表示。

对于1,根据运行Spark的方式,通常可以将某些节点定义为具有比其他节点更多的资源。例如,如果您使用的是我们在MapR开发的Spark运算符,则可以得到非常精确的估计和控制。

对于2,如果启用平衡器功能,则I / O负载和数据量通常在MapR中得到很好的平衡。 HDFS通常做得并不好。这也将取决于您的工作负载和集群的历史记录。例如,如果您有12个几乎将满的相同节点,并且添加了两个大节点,这些节点当然最初都是空的,那么新数据将进入新节点,直到平衡器有时间将数据移动到新大节点上为止。如果您要分析的是新数据,则可能会导致I / O活动失衡。

在MapR中,您可以通过限制新数据而不是旧数据的位置来轻松避免这种情况。这意味着新数据将仅填充旧节点,而平衡器会将旧数据移动到新节点。一旦达到合理的平衡,就可以允许新数据存储在任何地方。

对于3,只有您可以回答。对于小型集群,使用MapR具有明显的实质性优势,因为您不必将任何节点专用于名称节点。当然,大规模使用MapR也有明显的实质性优势,但是它们是不同的。

© www.soinside.com 2019 - 2024. All rights reserved.