为集群中的 yarn.scheduler.maximum-allocation 设置正确值的公式是什么

what is the formula to set the right value for yarn.scheduler.maximum-allocation in cluster

考虑这样一个场景,您正在设置一个集群,其中每台机器都有 32G GB 的 RAM。和 16 CPU 核心

如何根据信息确定以下参数 (32G GB of RAM. And 16 CPU CORE )

yarn.scheduler.maximum-allocation-mb
yarn.scheduler.maximum-allocation-vcores 

是否可以在这里给出公式来计算任何集群上的这些参数?

据我们所知,一些 RAM (32G) 应该保留给操作系统和其他已安装的应用程序。

所以我们将 - yarn.nodemanager.resource.memory-mb 设置为 28G

Cloudera 提供了一个电子表格来执行此操作。

http://tiny.cloudera.com/yarn-tuning-guide

你还应该看看Untangling Apache Hadoop YARN, Part 2: Global Configuration Basics

一般来说,vcores 应该被认为是一个计算单位。如果您认为您的应用程序将平均使用 1GB 的 RAM,则在给定 28GB 的​​总内存的情况下,您可以将 vcores 设置为 28。如果你认为是2GB,那就是14.

注意:在几乎所有情况下,应用程序都 I/O 受限(磁盘或网络),因此 CPU 过度使用很少成为限制因素。