分享

YARN 在字节跳动的优化与实践

1.YARN 简介
1.1 YARN 生态圈

YARN (Yet Another Resource Negotiator) 是 Hadoop 集群的资源管理系统,是 Hadoop 生态中非常重要的成员项目。
2020-06-24_173531.jpg

一般来说,离线生态可以分为五层:
  •     最底层是裸金属层, 由众多物理节点组成,每个节点上运行着通用的操作系统。
  •     次底层是集群资源管理层, YARN 就处在这一层中。
  •     再往上是分布式计算引擎层, MR/Spark/Flink 等计算引擎处于这层,为了能让业务同学更加低成本的写计算任务, 各个引擎都支持 SQL 功能。
  •     再往上是作业托管层,用来提交 ad-hoc 的作业,管理周期性的批处理作业,管理长时间运行的流式作业。
  •     最上层是用户逻辑层,如数据日报,数据分析,模型训练等.

1.2 YARN 架构
2020-06-24_173611.jpg

上图中灰色背景区域是 YARN 的主要架构, 主要包含两种角色:

    ResourceManager
  •         整个集群的大脑,负责为应用调度资源,管理应用生命周期。
  •         对用户提供接口,包括命令行接口,API, WebUI 接口。
  •         可以同时存在多个 RM,但同一时间只有一个在工作,RM 之间通过 ZK 选主。

    NodeManager
  •         为整个集群提供资源,接受 Container 运行。
  •         管理 Contianer 的运行时生命周期,包括 Localization,资源隔离,日志聚合等。

YARN 上运行的作业:

  •     在运行时会访问外部的数据服务,常见的如 HDFS,Kafka 等
  •     会在运行结束后由 YARN 负责将日志上传到 HDFS 中


如何考虑节点 DRF 的调度?如何在运行时/重启时调整资源?

可下载文档:
YARN 在字节跳动的优化与实践 .pdf (1.14 MB, 下载次数: 21)

已有(1)人评论

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条