hadoop - 完全独立的Hadoop阶段

标签 hadoop mapreduce cluster-computing job-scheduling

我对在MapReduce执行的特定阶段对Hadoop集群进行基准测试感兴趣。也就是说,我希望在映射阶段,混洗阶段和缩小阶段之间进行清晰的分离。

有没有办法在所有 map task 完成之前避免改组或减少任何内容,并避免减少直到所有混排完成?我不在乎对执行时间的影响,因为我只对每个阶段的资源消耗感兴趣。

我看到了另一篇关于在特定节点上分离任务的帖子,方法是在不应映射的节点上将mapred.tasktracker.reduce.tasks.maximum设置为0,在不应映射的节点上将mapred.tasktracker.map.tasks.maximum设置为0,但是在这种情况下,map和reduce任务仍可同时运行,因此我我也无法在每个阶段使用我的完整集群。

谢谢!

最佳答案

Is there a way to refrain from shuffling or reducing anything before all map tasks have finished, and refraining from reducing until all shuffles are finished?


mapreduce.job.reduce.slowstart.completedmaps设置为0.05,并定义为Fraction of the number of maps in the job which should be complete before reduces are scheduled for the job.
将上述参数设置为1,直到完成所有 map task 的执行,混洗才会开始。

关于hadoop - 完全独立的Hadoop阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9088744/

相关文章:

hadoop - 将数据发送到Gmond时,Ganglia欺骗不起作用

apache-spark - 分发文件副本给执行者

sorting - 深入了解hadoop中Map reduce作业中map阶段的内部工作?

openid - DotNetOpenAuth RelayParty 无法在负载平衡集群上工作

java - 如何向 Eclipse 添加新的集群服务器?

hadoop - 如何将 Oozie 配置传递给工作流操作,例如 Hive?

javascript - 从用户时间轴获取转发计数

hadoop - 在 Hadoop 中将多个序列文件合并为一个序列文件

linux - OpenMPI Secure SHell 如何从主节点进入所有计算节点?

java - 如何从现有的 Web 应用程序访问 HDFS(Hadoop 文件系统)