可能因为减速器容器装不下而卡在减速器上?

Possibility stuck at reducer because reducer container cant fit in?

一开始我很抱歉问这个问题,我还是hadoop的新手,我有一个问题恐怕以后会发生,因为我的配置不好,hadoop是强大的工具,但我认为它没用如果我不能正确使用它

有没有可能hadoop中的mapreduce会因为资源不能分配给reducer而分配给mapper?

例如,如果我有很多输入,假设我的机器 yarn 限制内存为 10gb,mapper 最大内存为 1gb,reducer 最大内存为 4gb。假设vcpu没有问题,我有很多jobs/splits

然后有可能我所有的 10gb 都被 10 个映射器使用,reducer 无法进入,因为当一个映射器完成时,它没有足够的资源来容纳 reducer 容器,并且会让另一个映射器到 运行 那里。最后集群只有进程映射器和所有作业都会被卡住,因为没有减速器可以 运行。 (其实我还没有发生,可能是我的输入有限)

任何人都可以提供一些推荐的设置或提示来避免这种情况吗?

谢谢,如果我对hadoop如何调度容器有错误的概念,我很抱歉

是的,除非启用抢占并设置 YARN 队列容量,否则资源可能会陷入等待状态。

只有两个 built-in 调度器。阅读文档,看看哪个适合您的需要。