Yarn

Hadoop2.x版本出现

Hadoop-Yarn作用及其优点

角色

  • ResourceManager 管理集群资源
  • NodeManager 管理各个结点自身资源
  • AppMaster 一次任务调度的领导
  • Container 容器,分配资源用于一个Task的执行

资源管理

RM(ResourceManager),了解集群中所有结点的资源信息。

NM(NodeManager)掌握本台机器的资源信息,并需要定期向RM汇报自己的资源信息。

MapReduce on Yarn

  1. MR-Cli将任务所需文件(Jar(代码)、XML(参数)、切片信息(输入数据))上传到HDFS
  2. MR-Cli到RM上申请执行这个任务所需的
  3. RM找一台较为空闲的NM启动一个Container,并放射一个AppMaster,用于调度本次任务
  4. AppMaster从HDFS下载切片信息,再到RM上申请资源
  5. RM再通过AppMaster申请的信息,再通过NM开启对应的Container
  6. 这些Container再到AppMaster反向注册信息
  7. AppMaster再将Jar \ XML发到Container,反射调用方法执行,完毕之后,报告对应信息给AppMaster
  8. AppMaster再将信息报告给RM
  9. 计算框架都有Task失败重试的机制

优点

  • 解决了单点故障问题,由于每一个任务由一个AppMaster进行调度,且可进行AppMaster出错重试,从而使单点故障影响到多个任务进行问题不存在。
  • 解决了单点压力过大问题,每一个任务由一个AppMaster进行调度,而每一个AppMaster都是由集群中资源较为充足的结点进行启动,调度任务,起到一个负载均衡的作用。
  • 完成了资源管理和任务调度的解耦,Yarn只负责对集群资源的管理,各个计算框架只要继承了AppMaster,就可以共同使用Yarn资源管理,更加充分地利用集群资源。

Yarn更新解决了什么问题?

在1.x版本时,JobTrackerTaskTracker是常服务,资源管理和任务调度的耦合,而在2.x版本之后,Yarn将二者分离,只有资源管理成为了常服务,而任务调度则变成只有任务在调度时,才启用的临时服务。

相关文章:

  • 2021-07-12
  • 2021-06-24
  • 2021-11-21
  • 2021-07-12
  • 2021-11-21
  • 2021-06-25
  • 2022-12-23
  • 2021-10-15
猜你喜欢
  • 2021-12-15
  • 2021-08-09
  • 2021-12-05
  • 2021-05-09
  • 2022-02-17
  • 2021-06-05
  • 2021-04-15
相关资源
相似解决方案