目录
Hadoop1.x与Hadoop2.x的区别
1、变更介绍
Hadoop2.x相比较于Hadoop1.x来说,HDFS的架构与MapReduce的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更:
- HDFS的NameNodes可以以集群的方式布署,增强了NameNodes的水平扩展能力和可用性
- MapReduce将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN(Yet Another Resource Negotiator)
1.1 HDFS的变化 - 增强了NameNode的水平扩展及可用性
Hadoop1.X架构的介绍
而在Hadoop1.x中的NameNodes只可能有一个,虽然可以通过SecondaryNameNode与NameNode进行数据同步备份,但是总会存在一定的时延,如果NameNode挂掉,但是如果有部份数据还没有同步到SecondaryNameNode上,还是可能会存在着数据丢失的问题。架构如下:
包含两层:
Namespace
- 包含目录、文件以及块的信息
- 支持对Namespace相关文件系统的操作,如增加、删除、修改以及文件和目录的展示
Block Storage Service包含两部份
- 管理(在Namenode中实现的),提供数据节点群集成员的登记,并定期通过心跳进行检查。提供块报告以及块的存储位置的维护。提供对块的操作,如对块进行增删改的操作及获取块的存储地址。对块的复本的的复制以及存储位置的管理
- 存储 - 提供Datanode进行数据的本地存储,并提供读写的操作
Hadoop2.X架构的介绍
在Hadoop2.X中,HDFS的变化,主要体现在增强了NameNode的水平扩展及可用性,可以同时部署多个NameNode,这些NameNodes之间是相互独立,即NameNodes之间不需要相互协调,DataNode同时在所有NameNodes注册,作为它们共有的存储节点,并定时向所有的这些NameNodes发送心跳块使用情况的报告,并处理所有NameNodes向其发送的指令。架构如下: