淘先锋技术网

首页 1 2 3 4 5 6 7

HDFS:Hadoop Distributed File System:Hadoop分布式文件系统

简介

HDFS为了做到可靠性创建了多份数据块的复制,并将它们放置在服务器群的计算节点中,MapReduce就可以在它们所在的节点上处理这些数据。
这里写图片描述

HDFS节点

  • NameNode:(一般一个)
    存储元数据(除文件内容之外的数据,如文件名,大小,权限等)因而,文件越多,NameNode数据越大
    保存在磁盘中,启动时加载到内存中(因此工作过程都是在内存中读数据);
    保存文件,block和DataNode之间的映射关系。
  • DataNode:(一般多个)
    存储文件内容;
    保存在磁盘中;
    维护了block id到DataNode本地文件的映射关系。
  • Secondary NameNode
    这里写图片描述

HDFS运行机制

  • 一般一个NameNode和多个DataNode
  • 数据复制(冗余机制)
    存放的位置:机架感知策略
  • 故障检测:
    数据节点:心跳包(是否宕机)、块报告(安全模式下检测)、数据完整性检测(校验和比较)
    名字节点:日志文件,镜像文件
  • 空间回收机制

HDFS架构

HDFS存储单元

  • HDFS数据存储单元(block):是逻辑结构,不是磁盘空间
  • 文件被切分成固定大小的数据块
    默认数据块大小为128(老版本64)M,可配置
    若文件大小不到128M,单独存一个block;超过,则被分割在几个block中。
    一个block只能存储一个文件的数据。
  • 一个文件存储方式
    按大小被切分成若干个block,存储在不同的节点上
    默认情况下每个block都有三个副本。
  • Block大小和副本数通过Client端上传文件时设置。文件上传成功后副本数可以更改。Block size不接更改。
    有一个Block的数据损坏,某个块的副本数小于指定数目,系统会自动备份,使数量和设置值一致。

HDFS优点

  • 高容错性:数据自动保存多个副本;副本丢失后,自动恢复
  • 适合批处理:移动计算而非数据,数据位置暴露给计算框架
  • 适合大数据处理:10K+节点
  • 可构建在廉价机器上:通过多副本提高可靠性,提供容错和恢复机制

HDFS缺点(不适用于)

  • 低延迟数据访问(如订单):毫秒级、低延迟与高吞吐率;
  • 小文件存取(可将小文件压缩到一个进行解决,但是压缩后不可更改):占用NameNode大量内存,寻道时间超过读取时间;
  • 并发写入、文件随机修改:一个文件只能有一个写者,仅支持append。