yarn的架构
1) Resourcemanager: RM
- 整个集群同一时间提供服务的RM只有一个,负责集群资源的统一管理和调度
- 处理来自客户端的请求,比如提交一个job,杀死一个job等
- 监控NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉AM来如何进行调度
- NodeManager:NM
- 整个集群中可以有多个,负责结点自己本身的资源管理和使用
- 定时向RM汇报结点自身的资源使用情况
- 接收并处理来自RM的各种命令,然后启动Container
- 处理来自AM的命令
3)ApplicationMaster:AM
- 每个应用程序对应一个:MR、Spark等,负责应用程序的管理
- 为应用程序向RM申请资源(core、memory等),分配给内部task
- 需要与NM通信:start/stop task,task是运行在container里面,AM也是运行在container里面
4)Container:
封装了CPU、Memory等资源的一个容器,是一个任务运行环境的抽象
5)Client
提交作业、查询作业进度、杀死作业等
yarn的配置
在搭建好HDFS以后,yarn的配置就非常简单了,这里还是搭建的伪分布式,只需要修改两个配置文件即可
修改mapred-site.xml