请问为啥基于yarn的mapreduce架构如此复杂?

理由
举报 取消

我知道标题不明确,因为yarn上可以运行其他应用,不仅仅是mapreduce。我在看hadoop1的时候,感觉这种jobtrack和tasktrack的架构相当简单,后来看基于yarn的就晕掉了,怎么会如此复杂?话说yarn带来的好处是值得吗?相对其复杂的架构而言。还有会不会在实际应用中技术人员更倾向于继续使用hadoop1?毕竟更熟悉而且更容易维护,而且实际的集群也小。

2017年7月29日 1 条回复 553 次浏览

回复 ( 1 )

  1. Reid Chan
    理由
    举报 取消

    JobTracker和TaskTracker的模型有个致命的缺点: scalability不行

    忘了具体数字多数 大概到达一定数目规模扩不下去

    主要原因是JobTracker当爹当妈

    负载一重起来

    吃不消

    所以yarn第一步治这里 将JobTracker的角色分开

    resource manager只做应用调度和管理应用的资源申请

    负担减轻不是一般多

    具体应用的内部监控和应用内调度和具体实现交给application master和node manager一起来完成

    am去跟rm要资源 rm直接分配资源给nm am自己监控各nm的运行情况

    而am和nm进程都是分散出去了的 不跟rm一台机器上

    所以其实原来jobtracker的很多负载都分摊给集群了

    scalability得以增

    yarn还有一个野心

    就是提供更general的资源调度和管理框架给一些计算框架 使其计算框架能使用hdfs作为存储平台

    即存储平台hdfs和计算框架之间的一个重要桥梁

    也许也是hadoop想巩固自己在apache的地位吧

    各大公司应该很少用1了吧 实在缺点多于优点 而且玩hadoop的公司集群都不会小吧 你大可以问下bat的伙伴 还有华为什么的等

    工业级别的软件不能按照好使不好使 好理解不好理解去设计的

    像yarn不仅耦合解得漂亮 而且scalability确实增强 这是distributed system设计很重要的一个考量

    推荐参考书籍

    Hadoop The Definitely Guide 4th Edition

    The Apache Yarn 2.0

    第一本很出名 O’Reilly的动物书

    第二本是big data三巨头的HortonWork写的

我来回答

Captcha 点击图片更换验证码