我有一个大约16毫米线的4G文件,地图分布在15个地图中并行分布着6个地图。生成35000个密钥。我正在使用MultipleTextoutput,因此每个reducer生成一个独立于其他reducer的输出。
我已经配置了25-50个减速器,但它总是一次运行1个减速器。
机器 - 运行hortonworks堆栈的4芯32 G ram单机
如何让多个reduce任务并行运行?
答案 0 :(得分:0)
看看hadoop MapReduce Tutorial
减少了多少?
正确的减少数量似乎是0.95或1.75乘以(*)。
使用0.95时,所有缩减都可以立即启动,并在地图完成后开始传输地图输出。使用1.75,更快的节点将完成第一轮减少并启动第二波减少,从而更好地实现负载平衡。
查看相关的SE问题:
How hadoop decides how many nodes will do map and reduce tasks
答案 1 :(得分:0)
通过指定2 GB的较低reducer内存,mapred-site xml中的默认值为6GB,框架并行显示3个reducers而不是1。