HDFS是如何保证其可靠性?

2019-05-15  本文已影响0人  叫我不矜持

数据存储系统,数据存储的可靠性至关重要。HDFS是如何保证其可靠性呢?它主要采用如下机理。

1)冗余副本策略
即所有数据都有副本,副本的数目可以在hdfs-site.xml中设置相应的复制因子,或者put操作时-D dfs.block.size=2123123,这样的形式指定块的大小。

2)副本放置策略

即HDFS的“机架感知”,一般在本机架存放一个副本,在其它机架再存放别的副本,这样可以防止机架失效时丢失数据,也可以提供带宽利用率。

3)心跳机制
即Namenode周期性从Datanode接受心跳信号和快报告,没有按时发送心跳的Datanode会被标记为宕机,不会再给任何I/O请求,若是Datanode失效造成副本数量下降,并且低于预先设置的阈值,Namenode会检测出这些数据块,并在合适的时机进行重新复制。

4)安全模式
Namenode启动时会先经过一个“安全模式”阶段。

5)校验和
客户端获取数据通过检查校验和,发现数据块是否损坏,从而确定是否要读取副本。

6)回收站
删除文件,会先到回收站/trash,其里面文件可以快速回复。

7)元数据保护
映像文件和事务日志是Namenode的核心数据,可以配置为拥有多个副本。

8)快照
支持存储某个时间点的映像,需要时可以使数据重返这个时间点的状态。

上一篇 下一篇

猜你喜欢

热点阅读