什么是YARN
Yarn
是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce
等运算程序则相当于运行于操作系统之上的应用程序。
YARN基础架构
YARN
主要由ResourceManager
、NodeManager
、ApplicationMaster
和Container
等组件构成。
Input ---> InputFormat --->Mapper--->Shuffle--->Reducer--->OutputFormat--->Output
Map阶段---->Reduce阶段
Map阶段 ---> Shuffle(Map后半段+Reduce前半段)--->Reduce阶段
MapTask
:map ---> sort
1 | mapPhase = getProgress().addPhase("map", 0.667f); |
ReduceTask
: copy ---> sort ---> reduce
1 | copyPhase = getProgress().addPhase("copy"); |
Hadoop
的运行模式包括:本地模式
、伪分布式
以及完全分布式