sorting - Hadoop 中的 Terasort 调度程序

标签 sorting hadoop scheduler

在 Hadoop 的 Terasort 实现中,有一个名为 TeraScheduler 的调度程序。通读代码后,调度程序基本上执行以下操作:

  1. 选择 split 次数最少的宿主
  2. 对于该主机,选择主机数量最少的固定数量的拆分,并将它们“固定”在该主机上执行。 “未选择的”拆分将从该主机中删除。
  3. 对所有主机重复。

我不明白这个时间表背后的基本原理。它如何比默认调度程序执行得更好(无论如何,默认调度程序是什么)?有没有论文解释它的好处?

最佳答案

好处有两个: (1)尽可能使排序本地化。 (2) 跨机器平均分配工作

两者都旨在提高性能。

关于sorting - Hadoop 中的 Terasort 调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20648990/

相关文章:

python - 如何按位于字典深处的键对复杂字典进行排序?

python - 有没有办法在找到第一个排序的 k 元素之前在 python 中对列表进行排序?

hadoop - node/hbase-unsecure 不在 ZooKeeper 中。检查 'zookeeper.znode.parent' 中配置的值。

c# - TaskScheduler.Current 和 TaskScheduler.FromCurrentSynchronizationContext() 的区别?

java - scheduler的standby()和pauseAll()有什么区别?

database - 排序前的Grails映射值

python - Numpy "sort like"函数

hadoop - 即使在向命令行添加原则后,HDFS 委托(delegate) token 也已过期

hadoop - Hadoop 中映射器的输入

java - 使用 Quartz 的每日作业调度程序