HDFS三级模式:外模式,模式,内模式,采用Master/Slave设计模式,NameNode-DataNode;
NameNode完成外模式和模式之间的映像,DataNode完成模式和内模式的映像;
高水平扩展的高是指DataNode的透明添加和减少,以达到性能的伸缩;且不停机操作;实现1+1>2的目的;
首先:DataNode会向NameNode周期性发送心跳信息,报告自己的状态;
一:减少DataNode
1、如果DataNode减少,则不会给NameNode发送心跳信息。则NameNode会标记该DataNode为宕机;
2、标记宕机的DataNode上的数据块在其他节点上有副本,因此该DataNode的减少,不会导致全局数据丢失。
3、NameNode检查到这种情况,一旦发现该节点上的数据块小于冗余因子,会自动启动数据冗余复制,生成新的副本,以满足冗余因子。
二、增加DataNode
1、新增DataNode会周期性向NameNode发送心跳信息,NameNode收到该心跳信息,标记该DataNode为非“宕机”状态;
2、来自集群外部的写操作请求,从集群内部挑选一台磁盘不太满、CPU不太忙的数据节点,作为第一个副本的存放地
3、DataNode会根据客户端或NameNode的调度进行数据存储和检索,并且向NameNode定期发送自己所存储块的列表。
三、
HDFS集群只有一个名称节点,该节点负责所有数据的管理,这种设计大大简化了分布式文件系统的结构。可以保证数据不会脱离名称节点的控制;同时数据块数据不会经过名称节点,大大减轻中心服务器的负担,方便数据管理;并不会随着数据节点的扩展,性能下降;