hadoop1.0到2.0架构优化的深度思考

本文解读了Hadoop2.0中YARN模块的引入,将其视为代码重构的策略,强调了从整体资源管理和细粒度功能分离的角度理解。作者指出,虽然战术细节可能不适用于所有场景,但其解耦和可插拔思想具有借鉴价值。
摘要由CSDN通过智能技术生成

       hadoop2.0相对于1.0的优化主要是增加了YARN模块,YARN设计思路是将原1.0的JobTacker三大功能拆分。如下图所示,

       在很多文章里对这种设计细节进行了长篇大论的讨论,如ResourceManager 拥有系统所有资源分配的决定权,负责集群中所有应用程序的资源分配,拥有集群资源主要、全局视图;ApplicationManager主要负责接收job的提交请求,为应用分配第一个Container来运行。而对于初学者来说,看的这个也是云里雾里,似懂非懂的,笔者试着从另外一个角度解析下这种变更带给我们的思考。

       我们在写代码的时候,初期业务简单,并没有进行深度的架构。如一个函数或功能模块里基本上实现了所有的逻辑业务,但随着业务的扩大和深入,这种代码逐渐满足不了系统的要求,于是重构代码,把代码中的业务拆成多种模块单元;java中可以简单的理解成一个方法体中的代码分解成多个不同的类来处理。

       其实hadoop1.0到2.0的submitjob里的变迁也是这种思想,总结起来上面的思想是战略上的考虑,而具体的细节如ResourceManager实现xx功能,则是战术上的细节,很多文章都是在描述这些战术,但这些战术用在自己的系统上未必有用(但思想可以借鉴,如解耦),大部分公司的产品都是自销,不需要考虑太多的兼容性与扩展性,但重构的战略上一致的。

     如hadoop2.0就是submitjob的时候重构了调度模块,把运算模块可插拔化,而在实现细节上就是加了可插拔的入口,命令行或脚本里调用相应的语句即可替换运算工具。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值