我希望每個hadoop映射器在M/R作業處理單獨的數據部分,我想測試一個僞分佈式(單節點)設置這樣的情況,即由於更大的輸入數據大小而需要存在許多映射器。考慮到我當前輸入的大小以及我正在嘗試的獨立模式,我只能看到1個地圖任務。HBase作爲輸入 - >無法平衡負載通過可用的地圖任務
我的輸入來自hbase表,我認爲每個hbase表的區域數量等於用於處理表格數據的映射器數量。
因此,對於重現其中許多映射器將處理所述輸入數據的情況下,我通過殼預定義表中的區域是這樣的:
創建「T1」,「F1」,{NUMREGIONS => 4,SPLITALGO >「HexStringSplit」}
或設定「UniformSplit」作爲SPLITALGO,但即使映射器確實增加到的區域的指定號碼(後導入數據到相應的表)中,所有的輸入數據(在隨後的測試工作,我試圖從這張表中讀取)通過只有一個映射器 - 與其他處理沒有任何inp ut行。
我工作在一個僞分佈式(單節點)設置,我真的不知道如何解決這個問題。有沒有人有任何想法?謝謝!
非常感謝您的時間 - 我沒有使用數據集的一部分,但您說得對,我會嘗試嘗試更大的數據集,以及儘快開發真正的集羣,希望能夠解決負載平衡問題,而不是試圖在獨立模式下調試不切實際的情況。 – user1519128 2012-07-17 10:07:37
您也可以通過命令行或使用HBase Web界面手動在桌面上分割區域。這也可以做到這一點。 – Tucker 2012-07-17 14:07:40
但是,我已經通過這個命令做到了這一點: 創建't1','f1',{NUMREGIONS => 4,我的問題是所有負載都經歷了1次4創建了地圖任務..如果我不理解這句話,請原諒。 – user1519128 2012-07-17 18:32:02