关闭hadoop mapreduce作业的数据位置

0ve6wy6x  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(302)

我有一个Yarn簇和簇中的几十个节点。我的程序只是一个Map作业。它的avro输入非常小,只有几百万行,但是处理一行需要大量的cpu能力。我观察到,许多maps任务都在单个节点上运行,而其他节点没有参与。这会导致一些节点非常慢,并影响整体hdfs性能。我假设这种行为是因为hadoop的数据局部性。
我很好奇是否可以关闭它,或者是否有其他方法可以强制yarn在集群中更均匀地分布map任务?
谢谢!

yzuktlbb

yzuktlbb1#

假设您不能轻松地在集群中更均匀地重新分布数据(当然不是所有数据都在一个节点上,对吗?!)这似乎是放松的简单方法:

yarn.scheduler.capacity.node-locality-delay

此设置的默认值应为40,请尝试将其设置为1,以查看此设置是否具有所需的效果。也许甚至0也能起作用。

相关问题