在Hadoop YARN中,资源配置是确保集群高效、稳定运行的关键环节。YARN支持动态资源分配,并允许用户自定义资源模型,以适应不同的应用场景。以下是一些核心的资源配置参数及其说明:
1. 全局资源配置
- yarn.nodemanager.resource.memory-mb- 描述: 设置每个NodeManager节点上YARN可以使用的总物理内存大小(单位:MB)。- 示例:
yarn.nodemanager.resource.memory-mb=8192
表示NodeManager可以使用的内存为8GB。 - yarn.nodemanager.resource.cpu-vcores- 描述: 指定每个NodeManager节点上YARN可使用的虚拟CPU核数。- 示例:
yarn.nodemanager.resource.cpu-vcores=8
表示NodeManager可以使用的CPU核数为8。
2. 资源分配范围
- yarn.scheduler.minimum-allocation-mb- 描述: 单个容器可申请的最小内存大小(单位:MB)。- 示例:
yarn.scheduler.minimum-allocation-mb=512
表示容器最小内存为512MB。 - yarn.scheduler.maximum-allocation-mb- 描述: 单个容器可申请的最大内存大小(单位:MB)。- 示例:
yarn.scheduler.maximum-allocation-mb=10240
表示容器最大内存为10GB。 - yarn.scheduler.minimum-allocation-vcores- 描述: 单个容器可申请的最小CPU核数。- 示例:
yarn.scheduler.minimum-allocation-vcores=1
表示容器最小CPU核数为1。 - yarn.scheduler.maximum-allocation-vcores- 描述: 单个容器可申请的最大CPU核数。- 示例:
yarn.scheduler.maximum-allocation-vcores=8
表示容器最大CPU核数为8。
3. 内存与CPU比率配置
- yarn.nodemanager.vmem-pmem-ratio- 描述: 任务每使用1MB物理内存,最多可使用多少虚拟内存。用于防止内存溢出。- 示例:
yarn.nodemanager.vmem-pmem-ratio=2.1
表示每使用1MB物理内存,可使用2.1MB虚拟内存。
4. 资源检查配置
- yarn.nodemanager.pmem-check-enabled, yarn.nodemanager.vmem-check-enabled- 描述: 控制是否启用检查任务超出分配的物理内存或虚拟内存的线程。- 示例: 设置为
true
表示开启检查,超出资源限制的任务将被终止。
5. 自定义资源类型(可选)
YARN支持扩展资源类型,允许用户定义除内存和CPU之外的其他资源,如GPU、网络带宽等。
- yarn.resource-types- 描述: 配置文件中定义自定义资源类型。
- yarn.scheduler.capacity.root..minimum-user-limit-percent- 描述: 在Capacity Scheduler中,每个队列可以设置用户最低资源占有率百分比,以保证公平性。
注意事项
- 确保配置的资源总量不超过节点实际可用资源,否则可能导致资源分配失败或系统不稳定。
- 配置时应考虑集群的整体负载情况,合理分配资源,避免资源浪费或过度竞争。
- 调整资源配置后,需要重启YARN相关服务才能生效。
这些配置项需要在YARN的配置文件(如
yarn-site.xml
)中进行设置,并依据实际情况进行细致调整。
版权归原作者 用心去追梦 所有, 如有侵权,请联系我们删除。