六、HDFS

目录

1 HDFS的定义

HDFS(Hadoop Distributed File System),是一个分布式的目录树文件系统,适合用一次写入多次读出的场景。

2 HDFS的优缺点

2.1 优点

  • 高容错性

    数据自动保存多个副本,即通过增加副本的形式,提高容错性。

  • 适合处理大数据

    • 数据规模:可达PB级别的数据
    • 文件规模:能够处理百万规模以上的文件数量
  • 可构建在廉价机器上,通过多副本机制,提高可靠性

2.2 缺点

  • 不适合低延时数据访问
  • 无法高效的对大量小文件进行存储
  • 不支持并发写入,文件随机修改
    • 一个文件只能有一个写,不允许多个线程同时写
    • 仅支持数据append(追加),不支持文件的随机修改

3 HDFS的组成

3.1 NameNode(nn)

  • 名义上的Master,是一个管理者
  • 管理HDFS的名称空间
  • 配置副本策略
  • 管理数据块(Block)映射信息
  • 处理客户端读写请求

3.2 DataNode

  • 名义上的Slave,是一个执行者
  • 存储实际的数据块
  • 执行数据快的读/写操作

3.3 Client

  • 客户端
  • 文件切分,文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后进行上传,文件块大小常为128MB
  • 与NameNode交互,获取文件的位置信息(元信息)
  • 与DataNode交互,读取或者写入数据
  • Client提供一些命令来管理HDFS,例如对NameNode的格式化
  • Client提供一些命令来访问HDFS,例如对HDFS增删改查操作

3.4 Secondary NameNode

  • 它不是NameNode的热备份,两者之间存在差异,当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务
  • 辅助NameNode,分担其工作量,如定期合并Fsimage和Edits,并推送给NameNode
  • 在紧急情况下,可辅助恢复NameNode

3.5 图例

六、HDFS

上一篇:HDFS SecondaryNameNode的原理和作用


下一篇:HDFS架构设计