我正在同一集群中执行两个Word计数示例作业(我使用多集群在本地运行hadoop 2.65),其中我的代码一个接一个地运行两个作业。 两个作业共享相同的映射器,化简器等,但是每个作业都有不同的 Partitioner 。
为什么第二项作业的节点上的reduce任务分配不同?我通过节点的IP(Java getting my IP address)来标识reduce任务节点。 我知道这些键会去执行其他的reduce任务,但是我希望它们的目的地保持不变。
例如,我有五个不同的键和四个简化任务。 作业1的分配是:
作业2的分配是:
答案 0 :(得分:0)
在hadoop中,我们没有定位于异径管的位置,因此纱线会根据资源为异径管选择节点。无法强制hadoop在两个作业的同一节点上运行每个reducer。