配置cpu调度与隔离
在hadoop集里,你可以配置cpu调度, 为应用程序容器分配具有所需 CPU 资源的最佳节点。
1. 配置资源计算器
在ResourceManager和NodeManager节点,将capacity-scheduler.xml中的DefaultResourceCalculater
修改为DominantResourceCalculator
以启用cup调用。
- Property:
yarn.scheduler.capacity.resource-calculator
- Value:
org.apache.hadoop.yarn.util.resource.DominantResourceCalculator
- Example:
1 | <property> |
2. 配置cpu核数
在ResourceManager和NodeManager节点,将yarn-site.xml中的cpu-vcores
修改为所需要的核数, 一般为NodeManager节点的物理核数。
- Property:
yarn.nodemanager.resource.cpu-vcores
- Value:
<number_of_physical_cores>
- Example:
1 | <property> |
也可以通过开启硬件自动检测来配置cpu核数。
- Property:
yarn.nodemanager.resource.detect-hardware-capabilities
- Value:
true
- Example:
1 | <property> |
以上两个配置项,只需要配置其中一项就可以了。
3. 配置cpu隔离
启用cgroups
。cgroups
是CPU
进程的隔离机制。如果不激活cgroups
,DRF
调度程序会尝试平衡负载,这可能会出现不可预测的行为。启用cgroups
, 请查看我的上一篇blog。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 许灵的技术笔记!
评论