美文网首页
Yarn(Hadoop2.0)学习笔记(二)

Yarn(Hadoop2.0)学习笔记(二)

作者: 武小寺 | 来源:发表于2017-12-28 14:21 被阅读0次

    Hadoop1.0中的状况

    • JobTracker必须是不断跟踪所有的taskTracker和所有的map,reduce任务,taskTracker上的任务都是JobTracker来分配的
    • 2.0 优化的方向
      • 我们减少了单个JobTracker的职责,将部分职责委派给taskTracker(AM),因为集群中有多taskTracker,在新的设计中,这个概念通过将JobTracker的双重职责(RM集群资源管理和任务协调(AM))分开为俩中不同类型的进程来反映
      • 不在拥有JobTracker,引入资源管理器(RM),赋值跟踪集群中的活动节点和可用资源,并将它们分配给任务
      • 对于提交给集群的每个作业,会启动一个专用的,短暂的JobTracker(AM)来控制改作业中任务的执行,短暂的JobTracker由在从属节点(NodeManager)上运行的taskTracker启动

    Hadoop2.0中的设计

    • ResourceManager(RM)代替集群管理器
    • ApplicationMaster(AM)代替一个专用且短暂的JobTracker
    • NodeManger(NM)代替了taskTracker
    • 一个分布式的应用程序代替了一个MapReduce作业
    • 重构的根本思想:将JobTracker俩个主要的功能跟历程单独的组件,这俩个功能是 资源管理(RM)和任务调度/监控(AM)

    Hadoop1.0跟2.0的对比

    对比
    • slot的大小是固定的,container的大小是动态的
    • yarn中任务都成为了一个应用程序(AM)
    • AM挂了,这个作业就挂了,在1.0中相当于JobTracker挂掉,这个集群挂掉, yarn中只是单独一个AM挂掉,然后RM会重新启动一个AM

    yarn的整个架构

    整个架构
    • yarn类似的相当于一个操作系统
    • MapReduce成为了yarn上的一种应用框架,相当于spark,hive,storm

    Yarn相对于旧的MapReduce框架的优势

    • 减少了JobTracker(现在的RM)的资源消耗,并且让监测每一个job子任务(tasks)状态的程序分布式化了,更安全,更优美
    • AM是一个可变更的部分,用户可以对不同的编程模型写自己的AM,让更多类型的编程模型能够泡在Hadoop急群众
    • 对资源的标识以内存为单位,比之前以剩余slot数据更合理
    • 老的框架中,JobTracker一个很大的负担就是监控job下的tasks的运行状况,现在,这个部分就扔给了ApplicationMaster做了
    • 资源表示成内存量,那就没有了之前的map slot /reduce slot分开造成集群资源闲置的尴尬情况

    Yarn的容错能力

    • RM挂掉:单点故障,新版本可以基于Zookeeper实现HA高可用集群,可通过配置 进行设置准备RM,主提供服务,备同步主的信息,一单主挂掉,备立即做切换阶梯进行服务
    • NM挂掉: 不止一个,当一个挂掉,会通过心跳方式通知RM,RM将情况通知对应AM, AM作进一步处理
    • AM挂掉: 若挂掉,RM负责重启,其实RM上有一个RMApplicationMaster,是AM的AM,上面保存已经完成的task,若重启AM,无需重新运行已经完成的task

    相关文章

      网友评论

          本文标题:Yarn(Hadoop2.0)学习笔记(二)

          本文链接:https://www.haomeiwen.com/subject/tgymgxtx.html