在介绍阿里巴巴的神秘架构之前,我们需要先了解一下Hadoop Yarn。
Hadoop Yarn 是一个运行 MapReduce、Spark 等大数据应用的资源管理系统,分布式的Hadoop集群的资源管理系统。用以提高分布式的集群环境下的资源利用率,这些资源包括内存、IO、网络、磁盘等。换句话说,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
Hadoop 2.0对MapReduce框架做了彻底的设计重构,我们称Hadoop2.0中的MapReduce为MRv2或者Yarn。回头看一下Hadoop1.x对MapReduce job的调度管理方式,它主要包括两部分功能:ResourceManagement 资源管理和 JobScheduling/JobMonitoring 任务调度监控。
到了Hadoop2.x也就是Yarn,它的目标是将这两部分功能分开,也就是分别用两个进程来管理这两个任务:ResourceManger和ApplicationMaster。
在Yarn中我们把job的概念换成了application,因为在新的Hadoop2.x中,运行的应用不只是MapReduce了,还有可能是其它应用如一个DAG。Yarn的另一个目标就是拓展Hadoop,使得它不仅仅可以支持MapReduce计算,还能很方便的管理诸如Hive、Hbase、Pig、Spark/Shark等应用。这种新的架构设计能够使得各种类型的应用运行在Hadoop上面,并通过Yarn从系统层面进行统一的管理,也就是说,有了Yarn,各种应用就可以互不干扰的运行在同一个Hadoop系统中,共享整个集群资源。
Yarn主要由以下几个组件组成:
ResourceManager:Global(全局)的进程
NodeManager:运行在每个节点上的进程
ApplicationMaster:Application-specific(应用级别)的进程
- *Scheduler:是ResourceManager的一个组件*
- *Container:节点上一组CPU和内存资源*
Container是Yarn对计算机计算资源的抽象,它其实就是一组CPU和内存资源,所有的应用都会运行在Container中。ApplicationMaster是对运行在Yarn中某个应用的抽象,它其实就是某个类型应用的实例,ApplicationMaster是应用级别的,它的主要功能就是向ResourceManager(全局的)申请计算资源(Containers)并且和NodeManager交互来执行和监控具体的task。Scheduler是ResourceManager专门进行资源管理的一个组件,负责分配NodeManager上的Container资源,NodeManager也会不断发送自己Container使用情况给ResourceManager。
ResourceManager和NodeManager两个进程主要负责系统管理方面的任务。
ResourceManager有一个Scheduler,负责各个集群中应用的资源分配。对于每种类型的每个应用,都会对应一个ApplicationMaster实例,ApplicationMaster通过和ResourceManager沟通获得Container资源来运行具体的job,并跟踪这个job的运行状态、监控运行进度。
下面我们看一下整个Yarn的架构图:
Yarn架构
Yarn其在架构上有别于适合长时间运行服务的 Kubernetes。很多公司同时拥有两者,以满足不同类型的工作负载。然而,这将会导致惊人的工作量和硬件开销。
注意这两种类型工作负载的区别,有没有办法让它们在让两个资源管理系统和谐工作的同时共享一个集群?有哪些要求,需要克服哪些困难?
在本次大会上,将由来自阿里巴巴的两位软件工程师Bushuang Gao和Jian He为大家介绍一个框架,此框架能在一个具有弹性资源共享性能的集群中无缝运行 Kubernetes 和 Hadoop。
在此之前,Bushuang Gao曾在容器平台团队工作,在 Kubernetes 和容器领域拥有丰富经验。而Jian He曾在Hortonworks YARN团队工作,并且是Yarn社区的早期成员。
由此可见,此框架是两位工程师的丰富经验的结晶。
此外,他们还将分享一些在管理Kubernetes 和 Hadoop时的经验教训,都是用在阿里巴巴大规模商业平台上的一些实操经验,满满的干货分享值得期待。
如果你对此感兴趣,请在11月14日下午到大会现场来听,我们在这里等你,不见不散。
本期则隆重推荐:
Craig Box , Google 云原生支持主管
Craig Box 负责领导谷歌云(Google Cloud)云原生支持(Kubernetes 与 Istio)团队。2014 年推出 Kubernetes 以来,他一直与客户和社区合作,在六大洲发表多场研究,其中包括 KubeCon 欧盟大会的主题报告。谷歌 Kubernetes Podcast 由他联合创办。
Craig Box 最初在系统管理领域工作,在全球研发、部署、开发运营、咨询、支持与管理领域拥有 15 年丰富经验。
Aaron Crickenberger , Google高级测试工程师
Aaron Crickenberger 分别从 2007 年、2009 年和 2015 年开始参与开源、云和 Kubernetes 工作。2017 年,他当选 Kubernetes 指导委员会成员。
他是 Kubernetes Testing SIG 的联合创始人,在架构、贡献者体验、发布和 SIGs 扩展领域是活跃的参与者。如果您参加每周的 Kubernetes 社区会议,一定有机会碰见他(或者至少看到他的标志性胡须。)从 V1.4 版本开始,他曾参加 Kubernetes 每一个版本的发布会,负责的关键角色包括:发布说明、issue triage 和 CI 信号。
他曾在公共云作为服务提供者执行数据库,管理 cloud foundry 部署团队,负责舰艇容器内的黑鹰飞行模拟器工作。
Kubernetes官方论坛首次登陆中国,机不可失时不再来,错过这次就只能去西雅图参加下一场了,时间成本这么高,很不划算的。
来吧,加入这场盛会,本次论坛报名通道早已开启,会议更多信息及注册请点击文末 阅读原文 了解!
老规矩,注册越早优惠越大!很遗憾,如今已经错过了早鸟票的购买时间。
标准票价格如下:
标准注册从1500元涨价到2000元(晚注册则需2400元);
贵宾注册从3750元涨价到5000元(晚注册则需6000元);
学术或爱好者注册从375元涨价到500元;(需要发送电子邮件至events@cncf.io申请批准)
云原生终端用户还可以用更优惠的价格为更多人注册!更多精彩内容请搜索 KubeCon 前往官网进行了解!
—————————————感谢活动赞助商—————————————
钻石赞助商
阿里云
华为云
IBM Cloud
Tencent Cloud
铂金赞助商
灵雀云
才云
Google Cloud
英特尔
京东
Microsoft
Rancher
VMware
黄金赞助商
SUSE
白银赞助商
BoCloud
Cloud Foundry
DaoCloud
EasyStack
Eclipse Foundation
Elastic
GitLab
Mesosphere
Red Hat
YAHOO! JAPAN
初创企业赞助商
Aljabr
AMPERE
CStack
EMQ
Giant Swarm
谐云科技
inwinSTACK
KONTENA
LF DEEP LEARNING
PlanetScale
时速云
睿云智合
媒体合作伙伴
开源中国社区
极客邦科技 / InfoQ
THENEWSTACK
社区合作伙伴
异步社区
掘金
开源社
云计算开源产业联盟
WOMEN WHO CODE
|