2017-03-10 63 views
0

在我的Spark程序中,我可以通过参数--num-executors限制我的程序运行的节点数量。现在我想比较一下我的程序和类似的MapReduce程序的可扩展性。但为此,我还需要限制它的节点数量。有没有办法限制MapReduce程序的节点数量?

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

回答

2

在MapReduce的可以限制减速 的数量(在你的情况下,使减速器=所需节点的数量)催生映射器,

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

给你举个例子。

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/详细了解

+0

不会为HBase的输入 – AdamSkywalker

+0

工作,我放弃了的TextInputFormat的例子。 让我们把TableInputFormat。 用X个预定义区域创建一个表格。其中X =预计的节点数量。 为每个分组写入一些数据。并运行同样的MR。 http://bytepadding.com/big-data/hbase/hbase-readwrite-from-map-reduce/ – KrazyGautam

+0

哦不,表中的区域数量不是集群限制的主题 – AdamSkywalker

相关问题