Apache YARN/Mesos与Google Borg差距多远?
Google于2013年和2015年分别公开了它的实验和生产环境中使用的数据中心资源管理系统Omega和Borg,本文从笔者角度,对比了开源资源管理系统YARN/Mesos与Borg的差距。
{关注大规模数据处理,包括Hadoop,YARN,Spark,Flink,Presto等}
Google于2013年和2015年分别公开了它的实验和生产环境中使用的数据中心资源管理系统Omega和Borg,本文从笔者角度,对比了开源资源管理系统YARN/Mesos与Borg的差距。
为了解决多集群带来的问题,可将多个集群统一为一个集群,这将带来以下几个好处:提高集群整体利用率。所有业务运行在一个大的集群中,并按需分配给各个应用程序,可达到资源错峰交谷的目的,提高系统整体利用率和均衡率;减少管理成本。多个集群合并成一个大集群后,便于统一管理和统一运维,可减少管理成本。本文对比了多集群下资源共享方案。
Google公布了它的下一代集群管理系统Omega的设计细节。论文中谈到Google经历的三代资源调度器的架构,分别是中央式调度器架构(类似于Hadoop JobTracker,但是支持多种类型作业调度)、双层调度器架构(类似于Mesos和YARN)和共享状态架构(就是Omega),并分别讨论了这几个架构的优缺点。
资源调度和资源隔离是YARN作为一个资源管理系统,最重要和最基础的两个功能。资源调度由ResourceManager完成,而资源隔离由各个NodeManager实现,在文章“Hadoop YARN中内存和CPU两种资源的调度和隔离”中,我已经介绍了YARN的内存和CPU的资源隔离,本文将介绍YARN在资源隔离方面的一些进展。
在最新的hadoop 2.6.0版本中,YARN引入了一种新的调度策略:基于标签的调度机制。该机制的主要引入动机是更好地让YARN运行在异构集群中,进而更好地管理和调度混合类型的应用程序。本文介绍了YARN基于标签的调度策略。
Apache Twill这个项目是为简化YARN上应用程序开发而成立的项目,该项目把与YARN相关的重复性的工作封装成库,使得用户可以专注于自己的应用程序逻辑。本文介绍介绍了Apache Twill原理和基本使用方式。
将spark运行在资源管理系统上将带来非常多的收益,包括:与其他计算框架共享集群资源;资源按需分配,进而提高集群资源利用率等。这篇文章主要介绍spark on yarn的技术挑战。
本文介绍了YARN最近几个特性,包括:ResourceManager HA,磁盘容错和资源调度器等。
本文将从用户伪装(impersonate,翻译成“模仿”也许更好些)角度介绍Hadoop安全机制,用户伪装机制使得Hadoop支持类似于linux “sudo”的功能,即用户A以用户B的身份执行功能。该机制属于Hadoop安全机制的一部分,因此适用于Hadoop 1.0之后的版本。
这是我在数盟上分享的一个topic,介绍了hadoop yarn的产生背景、基本架构、运行在yarn上的计算框架(包括MapReduce、Tez、Storm、Spark等)和发展趋势,该PPT可看做hadoop 2.0新书《Hadoop技术内幕:深入解析YARN架构设计与实现原理》的精简介绍。