AM如何为每个约简任务选择节点?

时间:2018-09-11 19:11:01

标签: hadoop mapreduce yarn hadoop2 hadoop-partitioning

我正在同一集群中执行两个Word计数示例作业(我使用多集群在本地运行hadoop 2.65),其中我的代码一个接一个地运行两个作业。 两个作业共享相同的映射器,化简器等,但是每个作业都有不同的 Partitioner

为什么第二项作业的节点上的reduce任务分配不同?我通过节点的IP(Java getting my IP address)来标识reduce任务节点。 我知道这些键会去执行其他的reduce任务,但是我希望它们的目的地保持不变。

例如,我有五个不同的键和四个简化任务。 作业1的分配是:

  1. partition_1 -> NODE_1
  2. partition_2 -> NODE_1
  3. partition_3 -> NODE_2
  4. partition_4 -> NODE_3

作业2的分配是:

  1. partition_1 -> NODE_2
  2. partition_2 -> NODE_3
  3. partition_3 -> NODE_1
  4. partition_4 -> NODE_3

1 个答案:

答案 0 :(得分:0)

在hadoop中,我们没有定位于异径管的位置,因此纱线会根据资源为异径管选择节点。无法强制hadoop在两个作业的同一节点上运行每个reducer。