我有一個約16毫米線的4G文件,地圖運行時分佈在15個地圖中,並行分佈有6個地圖。生成35000個密鑰。我正在使用MultipleTextoutput,因此每個reducer生成獨立於其他reducer的輸出。Hadoop並行運行減速器
我已經配置了25-50減速器的配置,但它總是一次運行1個減速器。
機 - 4核心32g的RAM單機運行hortonworks堆棧
如何獲得超過1個reduce任務並行運行?
我有一個約16毫米線的4G文件,地圖運行時分佈在15個地圖中,並行分佈有6個地圖。生成35000個密鑰。我正在使用MultipleTextoutput,因此每個reducer生成獨立於其他reducer的輸出。Hadoop並行運行減速器
我已經配置了25-50減速器的配置,但它總是一次運行1個減速器。
機 - 4核心32g的RAM單機運行hortonworks堆棧
如何獲得超過1個reduce任務並行運行?
隨着指定2 GB,在mapred現場XML默認的低減速內存是6GB,框架帶來並行而不是1個並行減速器。
看一看Hadoop的MapReduce Tutorial
多少降低了?
減少的正確數量似乎是0.95或1.75乘以(*)。
隨着0.95的所有縮小可以立即啓動,並開始傳輸地圖輸出,因爲地圖完成。在1.75的情況下,更快的節點將完成第一輪縮減,並推出第二輪減少負載平衡的更好工作。
看一看相關SE的問題:
How hadoop decides how many nodes will do map and reduce tasks
我的問題不是減速器的問題,而是如何讓並聯/同步運行的減速器。謝謝 ! – Hari
框架決定reducer的數量,在你的情況下它是1。如果這個數字超過1,他們將並行運行。如果您想覆蓋它,請實施自定義分區程序並設置減少程序的數量。 –