Hadoop2体系结构

来源:互联网 发布:淘宝购物客户资源 编辑:程序博客网 时间:2024/04/20 23:38

hadoop1.0需要解决的几个问题:

   1:单点故障问题,HDFS和MapReduce都是Master-Slave的结构,但是Master节点都是单点,一旦出现故障,那么集群就不能正常运行。

   2:HDFS存储海量数据是按照Block来存储的,整个存储只有一种格式,企业存储受限,企业的数据非常多样,存储起来容易造成资源的浪费。

        当namenode所在机器的内存不够时,集群不能正常工作。

   3:MapReduce进行离线的批处理,处理速度慢,以Map和Reduce进程的方式来运行,一般是晚间来进行计算,MapReduce集群资源利用率低。


Hadoop2.0

    在HDFS上的基础上是YARN,是一个资源管理框架,在YARN上既可以放MapReduce,也可以放置其他的计算资源,主要是管理资源的,如

CPU,硬盘,内存,网络等。

    


HA:高可靠



1:active状态为工作的,standby状态为时刻准备着的,当active状态改变时,会通知JournalNode集群,然后JournalNode集群再通知standby状态的NameNode

节点进行同步

2:JournalNode进行数据的中转,用来进行数据同步的,不是用来备份的,不能等同于SecondaryNameNode的作用

3:如果active状态的namenode失效了,既可以使用手工切换,不太友好,也可以使用自动的切换,这就引入了Zookeeper集群,用来实现namenode之间的状态切换。

   active状态的namenode和standy状态的namenode都会和zookeeper集群进行通信。

   NameNode首先会向Zookeeper进行注册,Zookeeper能够感知到某个namenode的失效,在hadoop2中,Zookeeper只是用来管理NameNode的状态,如果没有Zookeeper,

则只能进行手工的切换。


HDFS2的federation的意思是可以搭建多个集群,在每个集群内部可以搭建HA的环境,但是多个集群的namenode节点不共享,但是datanode节点共享。namenode的内存已满,无法共享,

datanode上还有很多空余的资源,可以再重复使用,并且硬件还可以再扩展,是为了解决namenode的单节点的内存不足。

 DadaNode上的数据不会混淆,因为datanode上的数据信息都有标记。

NameNode1和NameNode3是属于同一个集群,路劲是/share/,NameNode2和NameNode4是属于同一个集群,路径是/user/



 


FailoverController用来监控NameNode的状态,如果NameNode的状态有变化,那么会通知Zookeeper的,FailoverController和Zookeeper的交互很多,

FailoverController属于中间的一个中转管理者,FailoverController是HDFS2中的进程



                                        图:MapReduce V2结构图

     App Mstr相当于Jobtracker,  Container相当于Tasktracker





   

0 0
原创粉丝点击