鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

架构介绍

Yarn(Yet Another Resource Negotiator)是Hadoop生态系统中的一个资源管理和调度框架。它负责集群中资源的分配和任务的调度,使得多个计算框架(如MapReduce、Spark、Tez等)可以共享同一个集群资源。Yarn通过ResourceManager(RM)、NodeManager(NM)和ApplicationMaster(AM)三个主要组件来实现资源管理和任务调度。Yarn提供了多种调度算法,包括FIFO Scheduler(先进先出调度器)、Capacity Scheduler(容量调度器)、Fair Scheduler(公平调度器)等调度算法,用户可以根据具体需求选择合适的调度器。

OmniScheduler Yarn负载调度算法优化开源版本Capacity Scheduler调度器,基于集群节点物理资源权重计算及排序结果进行资源调度,实现资源的均衡配置和高效利用。OmniScheduler Yarn负载调度算法整体架构如图1所示。

图1 OmniScheduler Yarn负载调度算法整体架构

包含五大模块:

  • Prometheus:一个开源的监控系统和时间序列数据库,广泛用于监控各种服务和基础设施。
  • Node Exporter:Prometheus生态系统中的一个组件,用于收集和暴露机器级别的指标(metrics),包括但不限于CPU使用率、内存使用情况、磁盘I/O、网络I/O和文件系统信息等。
  • LoadsMetricApplication:负载采集与分析工具,负责从Node Exporter中获取机器指标信息,进行分析处理后,将集群负载信息与均衡性数据上报给Prometheus进行存储。
  • Grafana:从Prometheus获取负载信息和均衡性数据,并将其可视化为图表和仪表板,进行前端UI展示。
  • Yarn负载调度算法:从LoadsMetric中获取节点负载排序信息,并按照顺序优先调度低负载节点。