HDFS组成框架

设计思想是:分而治之

HDFS是分布式的存储系统,可将文件切分为很多块,散列在分布式系统之上。默认副本有3个,默认每个块的大小是128M(hadoop2.x之后),64M(hadoop1.x)

1)Client

  •  块切分
  • 与NameNode交互,获得文件位置
  • 与DateNode交互,读/写数据
  • 提供客户端命令,打开和关闭HDFS
  • 提供客户端命令,访问HDFS

2)NameNode

  • 管理元数据

      元数据包括块名称,大小,偏移量,权限等

  • 管理数据块(block)映射信息

      周期性的从每个DateNode节点接收心跳和块状态报告

  • 配置副本策略 

      复制块,每隔3s接收一次Datenode心跳,如果10分钟之内没有接收到心跳,则认为dn失效,重新复制一份,确保副本数量

  • 处理客户端读写请求

3)DataNode

元数据信息(数据块长度,数据块的校验和时间戳)

  • 存储实际数据块
  • 执行数据块读/写操作
  • 上送心跳和块信息

4)SecondaryNameNode(hadoop1.x)

 辅助NameNode,分担工作量,帮助将fsimage,editor log合并成fsimage日志

爱人不亲,反其仁;治人不治,反其智;礼人不答,反其敬;行有不得,反求诸己
原文地址:https://www.cnblogs.com/lina-2015/p/14143584.html