美文网首页
HDFS简介

HDFS简介

作者: 懒无趣 | 来源:发表于2021-01-01 21:47 被阅读0次

    分布式文件系统

    特点

    • 容忍硬件故障,3个副本,RS(x,y)纠删码 RS(10,4)膨胀率1.4 RAID5
    • 流式数据存储 只支持追加,删除,而不能修改
    • 大数据集 (100w个文件300m内存)
    • 简单的一致性模型 (是强一致性),不支持随机读取
    • 移动计算比移动数据划算 “数据本地性“
    • 异构软硬件可移植性

    概念

    • 硬盘 块大小一般为512B 每个文件系统都有默认块大小 xfs:4KB NTFS:4KB
    • HDFS 块 默认128MB (分块=》chunk) 一个小文件不会占一整个块(硬盘会)

    分布式文件系统引入块的好处

    • 便于管理大文件
    • 简化了文件系统的设计
    • 对容错性的提升
    • 对并行性的提升

    NAMENODE

    • 主/从 架构,每个集群一般只要1个(正在工作的)NAMENODE

    • NameNode管理文件系统的命名空间(namespace) 即管理文件系统元数据,两个文件永久保存在本地磁盘:命名空间镜像文件(fsimage)和编辑日志文件(editlog)

    • Name记录每个块所在DataNode的信息, 而DataNode维护块所在磁盘位置

    • NAMENODE目录结构

      /dfs/nn/current/VERSION
      1. namespaceID
      2. clusterID
      3. blockpoolID
      4. cTime
      5. sotrageType
      6. layoutVersion
      /dfs/nn/in_use.lock

      /dfs/nn/current/edit.log

      记录着当前时间内存中的事物,一定阈值后会写到fsiamge

      hdfs oev -i edits_... -o ~/edit.xml -> 将edit文件(二进制)转换成xml可视文件

      /dfs/nn/current/fsimage

      包换所目录和文件inode的序列化信息(元信息),只记录块和DD的对应关系

      Hfs oiv -i ... -o ... -> fsimage -> webhdfs、xml

      永久性还原点

    DATENODE

    • DataNode是文件系统的工作节点

    • DataNode根据客户端的请求来读或者写数据

    • DATANODE文件目录

      /dfs/dn/current/BP-...

      HDFS块存储在blk前缀的文件中,存一部分原始数据以及meta文件存储头部信息和校验和信息

      当目录已经存储了64个数据块,就会新建一个子目录

    JournalNode

    共享存储

    nn(active) editlog -> journalNode -> nn(standby)

    复制块的放置

    副本因子为3时,第一个数据块放置到本地机架(RACK)的一个节点(如果客户端在集群外,就随机选择一个节点),另一份数据块放置到异机架的一个节点,最后一份数据块放置到与第二块同一个机架的另一个节点。

    重启

    1. 加载fsimage到内存,进入安全模式(只读)
    2. 执行时间戳后的edit.log生成新的fsimage
    3. DA向NN报告文件,当文件收集99.9%时,退出安全模式

    Balancer

    两个参数

    1. 阈值 5 -> 最大% - 最小% < 5% 停止重平衡

    HA

    相关文章

      网友评论

          本文标题:HDFS简介

          本文链接:https://www.haomeiwen.com/subject/bgcsoktx.html