在節點標籤(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