比较 YARN 与 MapReduce 1
主要区别就是 YARN 把 MR1 中的 Jobtracker 的职责分给了其他三个组件。分而治之,减少组件间的强耦合,会得到许多的好处。
YARN 与 MapReduce 1 对应组件
MapReduce | YARN |
---|---|
Jobtracker | Resource manager, application master, timeline server |
Tasktracker | Node manager |
Slot | Container |
使用 YARN 的好处
扩展性好
YARN 能够运行在比 MR1 更大的集群上。 MR1 的上限是 4000 节点 与 40000 个 task。而 YARN 的上限是 10000 个节点与 100000 个 task。
高可用性
在 MR1 中,job 的复杂的状态的改变都发生在 jobtracker 中的内存中,一旦 jobtracker 坏了,就很难再恢复。
而在 YARN 里,jobtracker 的职责分给了 resource manager 和 application master。这样可以为两个组件分别提供高可用。对每个组件发生的错误分别处理,互相不影响。
资源利用率高
在 MR1 中, 每一个 tasktracker 在配置阶段会固定的为 map 或者 reduce task 静态的分配资源&#x