如果我有3个datanode,我将reducer任务的数量设置为4,在这种情况下发生了什么?第四个将一直待命,直到其中一个datanode完成它的reducer任务?或者其中两个将同时在同一数据节点上运行?
hiz5n14c1#
reduce任务不依赖于datanodes,它们依赖于分配给特定节点的插槽数。tasktracker负责在群集中任何节点的这些插槽上运行任务。每个节点可以有多个插槽,因此每个节点可以运行多个reduce任务。
oipij1gg2#
除了chaos的答案之外,如果您将reduce task的数量设置为大于集群中reduce task的插槽数量,那么只要前面的reduce插槽没有被占用,剩余的reduce task就会运行。
2条答案
按热度按时间hiz5n14c1#
reduce任务不依赖于datanodes,它们依赖于分配给特定节点的插槽数。tasktracker负责在群集中任何节点的这些插槽上运行任务。每个节点可以有多个插槽,因此每个节点可以运行多个reduce任务。
oipij1gg2#
除了chaos的答案之外,如果您将reduce task的数量设置为大于集群中reduce task的插槽数量,那么只要前面的reduce插槽没有被占用,剩余的reduce task就会运行。