我查看了两个文档,但对hadoop中保持数据局部性的任务调度有疑问。假设任务的输入数据 t 是 D1 复制因子是3(这意味着我有3个d1的副本存储在3个不同的服务器上) t 到达哪个服务器 t 将被分配(考虑默认调度程序)。
t
D1
vlju58qv1#
hadoop将尝试使用所有可用的Map器插槽。如果它有一种方法来分配保留数据局部性的任务,那么它就会这样做(也就是说,如果包含d1副本的3个服务器中的一个有可用的Map器插槽,那么它会尝试将其放在该服务器上)。如果这3台服务器上的所有Map器都已被占用,但还有另一台服务器具有可用的Map器插槽,则任务将被放置在该Map器上。
1条答案
按热度按时间vlju58qv1#
hadoop将尝试使用所有可用的Map器插槽。如果它有一种方法来分配保留数据局部性的任务,那么它就会这样做(也就是说,如果包含d1副本的3个服务器中的一个有可用的Map器插槽,那么它会尝试将其放在该服务器上)。如果这3台服务器上的所有Map器都已被占用,但还有另一台服务器具有可用的Map器插槽,则任务将被放置在该Map器上。