请问为啥基于yarn的mapreduce架构如此复杂? 举报 理由 举报 取消 我知道标题不明确,因为yarn上可以运行其他应用,不仅仅是mapreduce。我在看hadoop1的时候,感觉这种jobtrack和tasktrack的架构相当简单,后来看基于yarn的就晕掉了,怎么会如此复杂?话说yarn带来的好处是值得吗?相对其复杂的架构而言。还有会不会在实际应用中技术人员更倾向于继续使用hadoop1?毕竟更熟悉而且更容易维护,而且实际的集群也小。 2017年7月29日 1 条回复 540 次浏览 Hadoop,数据
回复 ( 1 )
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写的