如何在yarn(hadoop2.2.0)中分发reduce作业(multi-reduce作业)

eqzww0vc  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(325)

我已经用过hadoop1.2.1服务器,在那里执行了很多pig任务。最近,我考虑将hadoop服务器改为hadoop2.2.0。所以我在hadoop2.2.0中尝试了一些Pig的工作,就像在hadoop1.2.1版本中一样。
但有一件事我很难理解在纱mr2,是只有一个减少工作安排在每个先生的工作。
第一次,我认为reduce比mr1快,因为资源管理器只在一台服务器上处理reduce作业,从而有效地调度了reduce作业。
但在每个大尺寸mr作业中,yarn mr2每次只分配一个reduce作业。
下面是extream案例。

我以前的hadoop(版本1.2.1)服务器由1个jobtracker和2个tasktracker组成(每个4芯,32g)

Kind    Total Tasks(successful+failed+killed)   Successful tasks    Failed tasks    Killed tasks    Start Time  Finish Time
Setup   1   1   0   0   27-Jan-2014 18:01:45    27-Jan-2014 18:01:46 (0sec)
Map 2425    2423    0   2   27-Jan-2014 18:01:26    27-Jan-2014 19:08:58 (1hrs, 7mins, 31sec)
Reduce  166 163 0   3   27-Jan-2014 18:04:35    27-Jan-2014 20:40:15 (2hrs, 35mins, 40sec)
Cleanup 1   1   0   0   27-Jan-2014 20:40:16    27-Jan-2014 20:40:17 (1sec)

需要2小时38分钟。

我的新hadoop(版本2.2.0)服务器由1个资源管理器和8个节点管理器组成(每个4核,32g)(新系统更好)

Job Name:   PigLatin:DefaultJobName
User Name:  hduser
Queue:  default
State:  SUCCEEDED
Uberized:   false
Started:    Tue Jan 28 16:09:41 KST 2014
Finished:   Tue Jan 28 21:47:45 KST 2014
Elapsed:    5hrs, 38mins, 4sec
Diagnostics:    
Average Map Time    41sec
Average Reduce Time 3hrs, 48mins, 23sec
Average Shuffle Time    1hrs, 36mins, 35sec
Average Merge Time  1hrs, 27mins, 38sec
ApplicationMaster
Attempt Number   Start Time  Node    Logs
1   Tue Jan 28 16:09:39 KST 2014    awdatanode2:8042    logs
Task Type    Total   Complete
Map 1172    1172
Reduce  1    1
Attempt Type     Failed  Killed  Successful
Maps    0   1   1172
Reduces 0   0   1

需要5小时38分钟。
虽然我以前的hadoop服务器资源不足,但它比新的hadoop快得多。因为减少了分配的工作。另一方面,hadoop2.2.0服务器拥有丰富的资源,map比旧系统快得多,但是reduce需要很长的时间。
hadoop2.2内存配置为map(4g,堆空间3g)和reduce(8g,堆空间6g)。我试过各种配置。但结果总是减少一份工作。
所以我检查了Pig的源代码。
我的pig作业总是生成一个reduce作业的原因是inputsizereducerestimator类无法访问hdfs文件系统。
//inputsizereducerestimator.java list poloads=planhelper.getphysicaloperators(mapreduceoper.mapplan,poload.class)的第79行;
结果总是0大小。
所以我的工作总是估计为一个。

wi3ka0sx

wi3ka0sx1#

我通过重建pig-0.12.1-h2.jar构建来解决这个问题。
我问Pig用户组。。。他们在
https://issues.apache.org/jira/browse/pig-3512

相关问题