2017-03-10 62 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

相關問題