Hadoop1.0包含两个核心组件,分别是HDFS和MapReduce。
Hadoop2.0在Hadoop1.0基础之上增加了独立的集群资源管理组件Yarn。Yarn不仅可以为MapReduce提供资源管理服务,也可以为MPI、Storm、Spark和Flink等计算框架提供资源管理服务。
对比项目 MapReduce Yarn 角色 JobTracker
TaskTracker
(执行程序时添加MapTask和ReduceTask)
ResourceManager NodeManager
(执行程序时,会首先启动ApplicationMaster)
分工 1.JobTracker 资源分配、任务调度
2.TaskTracker 节点资源管理、任务进度
1.ResourceManager 资源分配
2.NodeManager 节点资源管理
3.ApplicationMaster 任务调度、进度汇报
资源分配 Slot作业槽
1.分MapSlot和Reduce Slot分别对应Map任务和Reduce任务,无法通用
2.Slot资源大小固定,一经配置,无法改变,每个MapSlot资源大小相等
3.Slot的进程名为ChildJVM
Container容器
1.容器不分类型,Map和Reduce任务通用,AppMaster也在容器中运行
2.Container容器大小可变,可动态申请不同大小的容器
3.Container进程名为YarnJVM