我想要一个分为两个子集群的集群:"活动"节点和"备用"节点。通常,当一个应用程序被调度时,我希望它在"活动"节点上运行。但是,如果没有一个"活动"节点是健康的,我希望它在"备用"节点上运行。
有没有办法在YARN中实现这种行为?
为了提供更多细节,集群的"活动"节点将与"备用"节点位于不同的区域(但距离它们不远(。因此,我们试图为我们的应用程序实现多区域高可用性。这意味着,在"活动"区域发生灾难时,应用程序将被恢复并安排在"备用"区域。
要将作业路由到特定节点,需要节点标签。Capacity Scheduler已经有了一段时间(2.6或更早版本(,但对于Fair Scheduler,我认为他们计划在Hadoop3.x中支持它们。
另一个需要考虑的选项是YARN联合,在这里你有多个YARN集群,所以你的第二个集群将在区域2,如果区域1有问题,你可以将你的工作重新路由到区域2。
参考文献
- YARN节点标签
- Hadoop:YARN Federation