hadoop1.x的缺陷及hadoop2.x的诞生

来源:互联网 发布:股票交易记录分析软件 编辑:程序博客网 时间:2024/06/16 03:02

hadoop1.x的缺陷

Hadoop 1.0内核主要由两个分支组成:MapReduce和HDFS,众所周知,这两个系统的设计缺陷是单点故障,即MR的JobTracker和HDFS的NameNode两个核心服务均存在单点问题,该问题在很长时间内没有解决,这使得Hadoop在相当长时间内仅适合离线存储和离线计算。
令人欣慰的是,这些问题在Hadoop 2.0中得到了非常完整的解决。Hadoop 2.0内核由三个分支组成,分别是HDFS、MapReduceYARN,而Hadoop生态系统中的其他系统,比如HBase、Hive、Pig等,均是基于这三个系统开发的。
注:YARN是Hadoop 2.x中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序进行资源管理和调度。YARN不仅限于MapReduce一种框架使用,也可以供其他框架使用,Spark、Storm等。

hadoop2.x的诞生

Hadoop 2.x即第二代Hadoop,为克服Hadoop 1.x中HDFS和MapReduce存在的各种问题而提出的。针对Hadoop 1.x中的单NameNode制约HDFS的扩展性问题,提出了HDFS Federation,它让多个NameNode分管不同的目录进而实现访问隔离和横向扩展,同时它彻底解决了NameNode 单点故障问题;针对Hadoop 1.x中的MapReduce在扩展性和多框架支持等方面的不足,它将JobTracker中的资源管理和作业控制功能分开,分别由组件ResourceManager和ApplicationMaster实现,其中,ResourceManager负责所有应用程序的资源分配,而ApplicationMaster仅负责管理一个应用程序,进而诞生了全新的通用资源管理框架YARN。基于YARN,用户可以运行各种类型的应用程序(不再像1.x那样仅局限于MapReduce一类应用),从离线计算的MapReduce到在线计算(流式处理)的Storm等

hadoop2.x HA

—主备NameNode

—解决单点故障

1、主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换。

2、所有DataNode同时向两个NameNode汇报数据块信息。

—两种切换选择

1、手动切换:通过命令实现主备之间的切换,可以用HDFS升级等场合。

2、自动切换:基于Zookeeper实现。

—基于Zookeeper自动切换方案

1、Zookeeper Failover Controller:监控NameNode健康状态。

2、并向Zookeeper注册NameNode。

3、NameNode挂掉后,ZKFC为NameNode竞争锁,获得ZKFC锁的NameNode变为active。



原创粉丝点击