在节点标签(Node Label)出现之前,资源申请方,是无法指定特定节点的资源的,比如需要运行GPU节点,需要有SSD存储的节点等等。应用是无法指定特定节点上面的特定资源的,我们也无法对集群中的各个节点进行分区。
节点标签
节点标签的含义就是通过不同的标签,例如:
- 硬件要求
- 软件要求
- 所属的组织结构
- 负载情况
类似上述这些要求,每一个都可以作为节点的标签。
节点标签的类型
- 节点分区(Node Partition)2.6版本以后
- 一个节点只属于一个分区
- 和资源计划有关
- 节点限制 (Node Constraints)WIP
- 一个节点可以分配多个限制条件
- 和资源计划无关
如上图所示:分区(partition)和限制条件(constrain)分别有
分区(partition):
GPU的分区,大内存的分区,默认的分区。
限制条件(constrain):
操作系统类型:Ubuntu Windows Centos
JDK版本:JDK7 JDK8
glibc版本: glibc 2.21
上述都是针对Capacity Scheduler的,针对FairScheduler的Node Label还在进行中,具体的patch是:
YARN-2497