是否有一种方法可以限制MapReduce程序的节点数量



在我的Spark程序中,我可以通过ajdusting --num-executors参数来限制我的程序将运行的节点的数量。现在,我想将程序的可扩展性与类似的MapReduce程序进行比较。但是为此,我还需要限制其节点的数量。

我在没有任何管理员权利的集群上运行两个程序。那么,可以做到吗?

在MapReduce中您可以限制还原器的数量(在您的情况下,使还原=所需的节点数),

产生的映射器数将基于InputFormat。
您能做的就是根据输入图仔细计算输入大小,该输入量应该为=预期的节点数量。

给你一个例子。

InputFormat = TextInputFormat. 
Input Text File size = 2 GB  
TextInputFormat split size( defaults to hdfs block size) = 128 MB

在这种情况下,您将看到16个映射器正在运行。如果您有16个节点,则所有节点都将在所有节点中并行运行。

(请理解这就像最好的情况一样,您可能仍然会看到在同一节点上运行的映射器)

请关注http://bytepadding.com/big-data/map-reduce/understanding-map-reduce-the-missing-guide/详细理解

最新更新