分享

美团1万台 Hadoop 集群 YARN 的调优之路

本帖最后由 levycui 于 2020-5-6 17:59 编辑
背景
YARN作为Hadoop的资源管理系统,负责Hadoop集群上计算资源的管理和作业调度。

美团的YARN以社区2.7.1版本为基础构建分支。目前在YARN上支撑离线业务、实时业务以及机器学习业务。
  •     离线业务主要运行的是Hive on MapReduce, Spark SQL为主的数据仓库作业。
  •     实时业务主要运行Spark Streaming,Flink为主的实时流计算作业。
  •     机器学习业务主要运行TensorFlow,MXNet,MLX(美团点评自研的大规模机器学习系统)等计算作业。

YARN面临高可用、扩展性、稳定性的问题很多。其中扩展性上遇到最严重的是集群和业务规模增长带来的调度器性能问题。从业务角度来看,假设集群1000台节点,每个节点提供100个CPU的计算能力。每个任务使用1个CPU,平均执行时间1分钟。集群在高峰期始终有超过10万CPU的资源需求。集群的调度器平均每分钟只能调度5万的任务。从分钟级别观察,集群资源使用率是50000/(100*1000)=0.5,那么集群就有50%的计算资源因为调度能力的问题而无法使用。

随着集群规模扩大以及业务量的增长,集群调度能力会随着压力增加而逐渐下降。假设调度能力依然保持不变,每分钟调度5万个任务,按照5000台节点的规模计算,如果不做任何优化改进,那么集群资源使用率为:50000/(100*5000) = 10%,剩余90%的机器资源便无法被利用起来。

这个问题解决后,集群在有空余资源的情况下,作业资源需求可以快速得到满足,集群的计算资源得到充分地利用。

下文会逐步将Hadoop YARN调度系统的核心模块展开说明,揭开上述性能问题的根本原因,提出系统化的解决方案,最终Hadoop YARN达到支撑单集群万级别节点,支持并发运行数万作业的调度能力。

Hadoop YARN调度流程有哪些?如何使用调度压力模拟器测压?

2020-04-15_174617.jpg

可下载文档:
美团1万台 Hadoop 集群 YARN 的调优之路.pdf (1.33 MB, 下载次数: 9)

已有(1)人评论

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

本版积分规则

关闭

推荐上一条 /2 下一条