比较 YARN 与 MapReduce 1
主要区别就是 YARN 把 MR1 中的 Jobtracker 的职责分给了其他三个组件。分而治之,减少组件间的强耦合,会得到许多的好处。
YARN 与 MapReduce 1 对应组件
MapReduceYARN
JobtrackerResource manager, application master, timeline serverTasktrackerNode managerSlotContainer
使用 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 静态的分配资源,也就是 “槽”。因为每个应用程序所需要的资源并不是完全一样,这样有时会造成资源分配过大,资源浪费,资源分配过小,会导致任务失败。
在 YARN 中,资源由 resource manager 管理,应用程序会请求他所需要的资源。
多应用
YARN 中最大的好处就是可以在其上开启除 Mapreduce 之外的分布式应用程序,比如 Spark。
也可能为用户在一个 YARN 上运行不同版本的 MapReduce。
End!!
转载请注明原文地址: https://ju.6miu.com/read-968578.html