HDFS是如何保证其可靠性?

数据存储系统,数据存储的可靠性至关重要。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)快照
支持存储某个时间点的映像,需要时可以使数据重返这个时间点的状态。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容