【发布时间】:2015-12-21 07:34:15
【问题描述】:
在YARN应用中,ApplicationMaster如何决定容器的大小?我知道有一些参数可以控制最小内存分配、vcores 比率等。但是应用程序大师如何理解它需要如此多的内存和如此多的 CPU 来完成一项特定的工作 - 无论是 MapReduce / Spark?
【问题讨论】:
-
我在这里回答了类似的问题,用于 MapReduce 作业:stackoverflow.com/questions/33004487/…
-
感谢@ManjunathBallur 的回答。这是我在阅读您的 cmets 并在另一个线程中回复后的理解。根据要处理的数据大小,将确定映射器的数量(每个输入拆分 1 个映射器),并且将以编程方式提供减速器的数量。假设它们分别是 m 和 r。因此,我们将有 m+r 个容器由 AM 请求给 RM。每个容器的资源大小将由您帖子中提到的参数决定,即内存和 vcore。我的理解正确吗?
-
没错。对于 mapreducer 作业,容器的数量将等于 mapper 的数量 + reducer 的数量。只有在 Uber 工作的情况下,容器才能重新用于映射器。 mapper 和 reducer 所需的内存量和 vCore 数量取决于 mapre-site.xml 和 yarn-site.xml 中的设置
标签: hadoop hadoop-yarn