有没有办法限制MapReduce程序的节点数量?

时间:2017-03-10 13:07:36

标签: java scala hadoop apache-spark bigdata

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

我在群集中运行这两个程序,但我没有任何管理员权限。那么,有可能这样做吗?

1 个答案:

答案 0 :(得分:2)

在MapReduce中,您可以限制减速器的数量 (在你的情况下make reducers =所需的节点数),

产生的映射器数量将基于InputFormat 你可以做的是根据InputFormat仔细计算InputSize,它应该是=预期的节点数。

举个例子。

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

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

(理解这是最好的情况,你可能仍然会看到mappers在同一个节点上运行)

请按照http://bytepadding.com/big-data/map-reduce/understanding-map-reduce-the-missing-guide/进行详细了解