对YARN的理解

2017/12/26 Yarn

对YARN的理解

从三种角度理解一下YARN。

并行编程

在单机程序中为了快速处理大数据集,通常使用多线程并行编程:先用操作系统启动一个主线程,由它负责数据切分,任务分配,子线程启动和销毁工作,各种子线程只负责计算自己的数据,当所有子线程处理完数据后,主线程再退出。YARN上的程序的运行过程非常类似,只不过它是集群上的分布式并行编程。可将YARN看作一个去操作系统,负责为程序启动ApplicationMaster,由ApplicationMaster负责数据切分,任务分配,启动和监控工作。由ApplicationMaster启动各个Task负责自己的计算任务,当所有的任务计算完成后,ApplicationMaster认为应用程序运行完成,然后退出。

资源管理系统

资源管理系统主要功能是对集群中种类资源进行抽象,根据各种应用程序或者服务的要求,按照一定的调试策略,将资源分配给它们使用。同时采用一定的资源隔离机制防止应用程序或者服务之间因浆抢占而相互干扰。YARN是一个资源管理系统,弱化了计算框架的争议。各种计算框架可发挥各自的优势,在YARN上统一管理。

图一

云计算

普遍上认为云计算包括以下层次:Iaas,Paas和Saas,分别实现在基础设施层,软件开放运行平台层,应用软件层。 IaaS,通过网络向用户提供计算机,存储空间,网络连接,负载均衡和防火墙等基本计算资源。 PaaS,将软件研发的平台作为一种备备,以SaaS模式提交给用户。 SaaS,软件即服务。 YARN可以看作是PaaS层,能够为不同类型的应用程序提供统一的管理和调度。

Show Disqus Comments

Search

    Table of Contents