从计算框架MapReduce看Hadoop1.0和2.0的区别

1、1.0版本

主要由两部分组成:编程模型运行时环境编程

编程模型为用户提供易用的编程接口,用户只需编写串行程序实现函数来实现一个分布式程序,其余如节点间的通讯、节点失效,数据切分等,则由运行时环境完成。框架

基本编程模型将问题抽象成MapReduce两个阶段,Map阶段将输入数据解析成key/value,迭代调用map()函数后,再以key/value的形式输出到本地目录;Reduce阶段则将key相同的value进行归约处理,并将最终结果写入到HDFS分布式

运行时环境由JobTrackerTaskTracker两类服务组成,JobTracker负责资源管理和全部做业的控制,TaskTracker负责接收来自JobTracker的命令并执行。函数


2、2.0版本

2.0版本在编程模型上是同样的,可是在运行时环境上引入全新的资源管理框架:YARN,将JobTracker中的资源管理做业控制功能分开,分别由两个不一样进程ResourceManagerApplicationMaster实现,ResourceManager负责全部应用程序的资源分配,Application负责管理一个应用程序。接口


3、其余区别

在HDFS方面,2.0版本引入HDFS Federation,它让多个NameNode分管不一样的目录进而实现访问隔离和横向扩展,同时完全解决NameNode单点故障问题。进程


4、总结

能够看出,在计算框架MapReduce方面,1.0和2.0的主要差别仍是在资源管理方面,YARN的引入让MapReduce在扩展性和多框架支持方面更加完善。而存储系统引入HDFS联盟来解决1.0版本的扩展问题。资源

相关文章
相关标签/搜索