大数据-HDFS的定义、使用场景、优缺点、组成架构

HDFS定义

HDFS(Hadoop Destributed File System)是一个分布式的文件系统,用于存储文件,通过目录树来定位文件

HDFS使用场景

适合一次写入,多次读取的场景,不支持文件的修改

HDFS优缺点

  • 优点
  1. 高容错性
    数据自动保存多个副本。它通过增加副本的形式提高容错性
    某一个副本丢失后,它可以自动恢复
  2. 适合处理大数据
    数据规模:能够处理数据规模达到GB、TB、甚至PB级别的数据
    文件规模:能够处理百万规模以上的文件数量
  3. 可构建在廉价机器上,通过多副本机制,提高可靠性
  • 缺点
  1. 不适合低延时数据访问,比如毫秒级的存储数据是做不到的
  2. 无法高效的对大量小文件进行存储
    原因:
    存储大量小文件会占用NameNode大量的内存来存储文件目录和块信息
    小文件存储的寻址时间会超过读取时间
  3. 不支持并发写入,文件随机修改,仅支持数据追加append

HDFS组成架构

  • NameNode(nn):Master,是一个主管、管理者
  1. 管理HDFS的名称空间
  2. 配置副本策略
  3. 管理数据块(Block)映射信息
  4. 处理客户端读写请求
  • DataNode:Slave,NameNode下达命令,DataNode执行实际的操作
  1. 存储实际的数据块
  2. 执行数据块的读写操作
  • Client:客户端
  1. 文件切分,文件上传HDFS的时候,Client将文件切分成一个一个的Block,然后上传
  2. 与NameNode交互,获取文件的位置信息
  3. 与DataNode交互,读取或写入数据
  4. Client提供一些命令来管理HDFS,比如NameNode格式化
  5. Client可以通过一些命令来访问HDFS,比如对HDFS增删改查操作
  • Secondary NameNode:并非NameNode的热备,当NameNode挂掉时,它并不能马上替换NameNode并提供服务
  1. 辅助NameNode,分担其工作量,比如定期合并Fsimage和Edits,并推送给NameNode
  2. 在紧急情况下,可辅助恢复NameNode
    大数据-HDFS的定义、使用场景、优缺点、组成架构_第1张图片

你可能感兴趣的:(HDFS,大数据)