随笔 - 160  文章 - 0  评论 - 0  阅读 - 18462

Hadoop学习7

HDFS - 可靠性

HDFS 的可靠性主要有以下几点:

  • 冗余副本策略
  • 机架策略
  • 心跳机制
  • 安全模式
  • 效验和
  • 回收站
  • 元数据保护
  • 快照机制

 1.冗余副本策略

  可以在 hdfs-site.xml 中设置复制因子指定副本数量

  所有数据块都可副本

  DataNode 启动时,遍历本地文件系统,产生一份 HDFS 数据块和本地文件的对应关系列表 (blockreport) 汇报给 Namenode

2.机架策略

  HDFS 的"机架感知",通过节点之间发送一个数据包,来感应它们是否在同一个机架

  一般在本机架放一个副本,在其他机架再存放一个副本,这样可以防止机架失效时丢失数据,也可以提高带宽利用率

3.心跳机制

  NameNode 周期性从 DataNode 接受心跳信息和块报告

  NameNode 根据块报告验证元数据

  没有按时发送心跳的 DataNode 会被标记为宕机,不会再给他任何 I/O 请求

  如果 DataNode 失效造成副本数量下降,并且低于预先设定的值,NameNode 会检测出这些数据库,并在合适的时机重新复制

  引发重新复制的原因还包括数据副本本身损坏,磁盘错误,复制因子被增大等

4.安全模式#

  NameNode 启动时会先经过一个 "安全模式" 阶段

  安全模式阶段不会产生数据写

  在此阶段 NameNode 收集各个 DataNode 的报告, 当数据块达到最小副本数以上时,会被认为是"安全"的

  在一定比例(可设置) 的数据块被确定为"安全" 后 ,在过若干时间,安全模式结束

  当检测到副本数不足的数据块时,该块会被复制,直到达到最小副本数

5.效验和 

  在文件创立时,每个数据块都产生效验和

  效验和会作为单独一个隐藏文件保存在命名空间下

  客户端获取数据时可以检查效验和是否相同,从而发现数据块是否损坏

  如果正在读取的数据块损坏,则可以继续读取其他副本

6.回收站

  删除文件时,其实是放入回收站 /trash

  回收站里的文件是可以快速恢复的

  可以设置一个时间值,当回收站里文件的存放时间超过了这个值,就被彻底删除,并且释放占用的数据块

7.元数据保护

  映像文件和事物日志是 NameNode 的核心数据.可以配置为拥有多个副本

  副本会降低 NameNode 的处理速度,但增加安全性

  NameNode 依然是单点,如果发生故障要手工切换

 
posted on   GHOST-CR  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示