问题描述
yarn UI 中的 Mem Avail
是什么意思?
我将 yarn.scheduler.minimum-allocation-mb
设置为 1024,将 yarn.scheduler.maximum-allocation-mb
设置为 4096。yarn.nodemanager.resource.memory-mb
默认也设置为 -1。我可以看到每个节点的内存都是空闲的,UI 显示 Phys Mem Used
仅为 14%。但是,Mem Avail
是 0 B,我不知道它是什么以及如何增加它。
解决方法
我找到了答案!
它等于 yarn.nodemanager.resource.memory-mb
,这是 YARN 可以在给定 节点 上的 a 上使用的总内存量。根据您计划处理的数据量,您可能需要在 yarn-site.xml
内将其设置得更高。
这个配置的默认值是 8GB,尽管使用 getconf 命令你会看到 -1 这并不意味着系统的总内存。
之前:
$ hdfs getconf -confKey yarn.nodemanager.resource.memory-mb
-1
在 yarn-site.xml
中设置后:
$ hdfs getconf -confKey yarn.nodemanager.resource.memory-mb
40960
结果: