title: Difference between `yarn.scheduler.maximum-allocation-mb` and `yarn.nodemanager.resource.memory-mb`?
body: <p>What is difference between <code>yarn.scheduler.maximum-allocation-mb</code> and <code>yarn.nodemanager.resource.memory-mb</code>?</p>
  
  <p>I see both of these in <code>yarn-site.xml</code> and I see the explanations <a href="https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-common/yarn-default.xml" rel="noreferrer">here</a>.  </p>
  
  <p><code>yarn.scheduler.maximum-allocation-mb</code> is given the following definition: <em>The maximum allocation for every container request at the RM, in MBs. Memory requests higher than this will throw a InvalidResourceRequestException.</em>  Does this mean memory requests ONLY on the resourcemanager are limited by this value?</p>
  
  <p>And <code>yarn.nodemanager.resource.memory-mb</code> is given definition of <em>Amount of physical memory, in MB, that can be allocated for containers.</em>  Does this mean the total amount for all containers across the entire cluster, summed together?</p>
  
  <p>HOwever, I still cannot discern between these.  Those explanations make me think that they are the same.</p>
  
  <p>Even more confusing, their default values are exactly the same: 8192 mb.  How do I tell difference between these?  Thank you.</p>