乐趣区

关于大数据:大数据复习HDFS

存储模型:字节

  • 文件依照字节切割成块(block)默认 128MB,最小 1M(可批改),每个 block 块有偏移量 offset,block 块扩散存储在集群结点中。 横向扩大
  • 同一文件的 block 块大小雷同,不同文件的 block 块大小能够不同。
  • block 块能够设置正本,默认三个正本(可批改)。 纵向扩大

    • 正本搁置策略:

      • 第一个正本:放在上传文件的 DataNode
      • 第二个正本:放在与第一个正本不同的机架的节点上
      • 第三个正本:放在与第二个正本雷同机架的其余节点上
      • 更多正本:随机节点
  • 只反对一次写入屡次读取,不可批改块内容,
  • 能够 append 追加数据,同一时刻只有一个写入者

架构模型 1.x:主从

NameNode(主结点):

  • 管理文件的元数据信息(MetaData):block 块大小,offset 偏移量等等
  • 接管客户端的读写服务
  • 基于内存存储(不会和磁盘产生替换)
  • 收级 DataNode 汇报的 block 列表

DataNode(从结点):

  • 负责保护治理放在本节点的 block 块的元数据信息(MD5:保障数据完整性)
  • 与 NameNode 放弃心跳,并向 NameNode 汇报 block 块信息

NameNode 长久化:

  • fsimage(时点备份):metadata 存储到磁盘文件的名字
  • EditsLog:记录对 metedata 的操作
  • fsimage 和 editsLog 在达到肯定条件(check point)会进行合并,造成一个新的 fsimage

SecondaryNameNode(SNN)

  • 它不是 NameNode 的备份(然而能够做备份)它的次要工作是帮忙 NN 合并 editsLog 和 fsimage
  • SNN 合并流程

HDFS 长处:

  • 高容错性

    • 数据主动保留多个正本
    • 正本失落后主动复原(从良好节点上拷贝)
  • 适宜批处理

    • 计算向数据挪动
    • 数据地位(offset)裸露给计算框架
  • 适宜大数据处理

    • GB、TB、PB、百万规模文件
  • 可构建在便宜机器上

HDFS 写流程:

HDFS 读流程:

Hadoop2.x

产生背景

  • Hadoop1.x 中 HDFS 和 MapReduce 存在高可用、扩展性的问题
  • HDFS 问题

    • NameNode 单点故障。通过主备 NameNode 解决(HA)
    • NameNode 压力过大,联邦 Federation

架构模型 2.x

  • Hadoop 2.x 由 HDFS,MapReduce 和 Yarn 三个分支组成

    • HDFS 2.x: 只反对 2 个节点 HA,3.x 反对一主多备

退出移动版