Hadoop框架中Yarn基本结构和运行原理是什么
Yarn的基本结构
Yarn(Yet Another Resource Negotiator)是Hadoop中的一个集群资源管理系统,用于替代MapReduce中的资源管理和作业调度。Yarn的基本结构由ResourceManager(资源管理器)、NodeManager(节点管理器)、ApplicationMaster(应用程序管理器)和Container(任务容器)组成。
1. ResourceManager(资源管理器):负责整个集群的资源管理和作业调度。ResourceManager维护整个集群的资源状态,并接收客户端的作业提交请求,将作业分配给合适的NodeManager执行。
2. NodeManager(节点管理器):负责单个节点的资源管理。NodeManager管理本地节点上的资源使用情况,并向ResourceManager汇报节点的资源状态。同时,NodeManager还负责启动和监控运行在该节点上的任务,以及在任务失败时进行容错处理。
3. ApplicationMaster(应用程序管理器):负责单个作业的执行和管理。每个作业都有一个对应的ApplicationMaster,用于向ResourceManager请求资源,并协调和监控作业的执行过程。ApplicationMaster运行在一个容器内,它会与NodeManager通信来启动、监控和管理作业执行过程中的任务。
4. Container(任务容器):是Yarn中的基本执行单位。Container是在NodeManager上创建和管理的,用于运行作业的不同任务。NodeManager为每个Container分配一定的内存和CPU资源,以及其他必要的资源,然后将Container分配给ApplicationMaster,再由ApplicationMaster分配给具体的任务执行。
Yarn的运行原理
Yarn的运行原理主要分为作业提交阶段、资源调度阶段和任务执行阶段。
1. 作业提交阶段
在作业提交阶段,客户端向ResourceManager发送作业的提交请求。ResourceManager接收到请求后,会为该作业分配一个ApplicationMaster,并为ApplicationMaster分配相应的资源。ApplicationMaster会在容器中启动,并向ResourceManager注册自己,表示已准备好接收任务的分配。
2. 资源调度阶段
在资源调度阶段,ApplicationMaster向ResourceManager申请执行任务所需的资源。ResourceManager通过集群中的节点资源情况和任务的需求来进行资源调度决策,然后将资源的分配情况发送给ApplicationMaster。ApplicationMaster收到资源分配后,即可将任务分配给空闲的容器进行执行。
3. 任务执行阶段
在任务执行阶段,容器内的任务启动并运行。任务会向ApplicationMaster发送心跳消息,以汇报任务的执行状态和进度。同时,ApplicationMaster会监控任务的执行情况,并根据任务的执行结果来做相应的处理,例如重新分配任务、重新申请资源或标记任务失败等。
猜您想看
-
Linux下如何使用NFS进行网络文件系统的管理
Linux下如...
2023年05月10日 -
如何在快捷指令中拍摄照片?
。如何在快捷指...
2023年04月17日 -
C++11中的lambda表达式怎么使用
什么是C++1...
2023年05月22日 -
如何解决电脑的键盘失灵问题?
解决电脑键盘失...
2023年04月24日 -
如何禁用Windows的防病毒软件
一、Windo...
2023年05月15日 -
怎么破解某点评网站的字体加密以及CSS加密
一、字体加密字...
2023年05月26日