3.3 yarn资源管理系统
yarn是一种新的Hadoop资源管理器,是一个通用的资源管理系统。可以为上层应用提供统一的资源调度,在资源共享、资源利用上有很大的好处。
yarn的基本架构
主要由资源管理器、应用程序管理器、节点管理器和相应的容器构成。主要作用如下:
资源管理器(resourcemanager):一个全局的资源管理器,主要负责整个系统的资源调度。
应用程序管理器(applicationMaster):用户提交的每一个应用程序都包含一个应用程序管理器。主要就是与资源管理器协商获取资源,还负责与节点管理器通讯来启动或停止具体的任务。
节点程序管理器(NOdeManager):从节点,整个作业运行的执行者。
容器(container):资源的一个抽象,封装了内存、cpu、硬盘等资源。
yarn的工作原理
(1)yarn上运行的应用程序
有两类,按时间长短来分,短的就是几分钟、几天就可以完成作业的程序,比如MapReduce的作业。
长时间的就是不出意外,永不停歇的应用程序。
(2)工作流程
上面按时间来对程序做分类的目的就是在此,短程序直接运行,长程序呢就需要先部署在服务中,但两者在yarn中的步骤一样,如下:
1:客户端先向资源管理器提交一个任务作业。
2:资源管理器会为这个任务分配一个容器,先与节点管理器通信,让它启动容器中的应用程序管理器。
3:应用程序管理器一旦启动,会先向资源管理器注册,然后就会展开监控。
4:各个任务会通过rpc协议向应用程序管理器汇报状态,一旦失败会立即重启。
3.4Hadoop分布式集群的搭建
Hadoop作为大数据处理平台,利用HDFS来储存海量数据,利用yarn来进行资源管理,所以搭建Hadoop集群就是搭建hdfs分布式集群和yarn分布式集群。