hadoop 启动
This script is Deprecated. Instead use start-dfs.cmd and start-yarn.cmd
starting yarn daemons
yarn是用来干什么的?
管理资源
yarn的运行机制:
YARN通过两类长期运行的守护进程提供自己的核心服务:
- 管理集群上资源使用的资源管理器(resource manager)
- 运行在集群中所有节点上且能够启动和监控容器(container)的节点管理器(node manager)
容器用于执行特定应用程序的进程,每个容器都有资源限制(内存,CPU等)。
一个容器可以是一个Unix进程,也可以是一个Linux cgroup,取决于YARN的配置。
下图描述了YARN是如何运行一个应用的。
流程:
1.client向yarn提交job,首先找ResourceManager分配资源
2.ResourceManager开启一个Container,在Container中运行一个Application manager
3.Application manager找一台nodemanager启动一个Container,在Container中运行Application master,Application master计算需要多少资源
4.Application master向Application manager(Yarn)申请运行任务所需的资源
5.Resource scheduler将资源封装发给Application master
6.Application master将获取到的资源分配给各个nodemanager,包括当前运行这个Application master的nodemanager
7.各个nodemanager得到任务和资源开始执行map task
8.map task执行结束后,开始执行reduce task
9.map task和 reduce task将执行结果反馈给Application master
10.Application master将任务执行的结果反馈Application manager