Hadoop节点&核心分配战略

时间:2011-10-10 04:37:00

标签: configuration hadoop mapreduce hpc

我有一个包含50个节点的集群,每个节点有8个核心用于计算。 如果我有工作,我打算施加200个减速器,那么什么是更好的计算资源分配策略以获得更好的性能?

我的意思是,最好在每个节点上分配50个节点和4个核心,还是为每个节点分配25个节点和8个核心?在哪种情况下哪一个更好?

2 个答案:

答案 0 :(得分:1)

很难说,通常它总是“越高越好”。 更多的机器可以更好地防止故障。

通常Hadoop适用于商用硬件,您可以选择每个服务器50个核心。

但如果他们拥有出色的硬件,我会挑选8个核心,例如。更高的CPU频率,DDR3 RAM或10k rpm磁盘。

答案 1 :(得分:1)

要回答你的问题,这取决于一些事情。在我看来,50个节点总体上会更好:

  • 如果您从磁盘上读取大量数据,则50个节点会更好,因为您将并行加载磁盘2x。
  • 如果您正在计算和处理大量数据,那么50个节点会更好,因为核心数量不会随着处理而以1:1的比例缩放(即,2倍的核心数量不会快2倍......同时,更多的处理器确实接近1:1)。
  • Hadoop必须在这些节点上运行TaskTracker和DataNode进程,以及OS层的东西。那些“占用”核心。

但是,如果您的主要关注点是网络,那么以下是拥有50个节点的几个缺点:

  • 可能50个节点将超过两个机架。他们是在扁平网络上还是你必须处理机架通信?你必须相应地设置Hadoop;
  • 支持50个节点的网络交换机将比支持25个节点的网络交换机更昂贵;
  • 地图和reduce之间的网络混乱将导致交换机为50个节点群集多做一些工作,但仍然会通过网络传递大约相同数量的数据。

即使有这些网络问题,我认为你会发现50个节点更好,只是因为节点的价值不仅仅是核心数量。你必须考虑你拥有的磁盘数量。