Hadoop文件系统-Hive

Hadoop文件系统-Hive

HDFS简介

HDFS设计目的
  1. 兼容廉价硬件设备;
  2. 实现流数据读写;
  3. 支持大数据集;
  4. 支持简单的文件模型;
  5. 跨平台兼容性
HDFS自身局限性
  1. 不适合低延迟数据访问(实时性不高);
  2. 无法高线存储大量小文件;
  3. 不支持多用户写入;
  4. 不支持任意修改文件(只允许追加)

HDFS相关概念

HDFS核心概念:块
  1. 联系:为了在大量数据间分摊磁盘寻址的开销,但比普通文件系统的块大很多(默认64MB)
  2. 目的:支持面向大规模数据存储,降低分布式节点的寻址开销
  3. 缺点:块过大会导致MapReduce在执行时牺牲了并行度
  4. 好处: 支持大规模文件存储;简化系统设计;适合数据备份
HDFS两大组建
名称节点(元数据节点):起到数据目录的作用,记录数据存储位置
  1. 核心数据结构:FsImage(保存系统文件数);EditLog(记录对数据进行的操作)
  • FsImage:
    Hadoop文件系统-Hive
  1. 设置EditLog原因
    启动时,FsImage读取到内存中,读取EditLog中,再合并FsImage和EditLog,生成新版的FsImage,最后在创建一个空的EditLog
  • 处理过程
    Hadoop文件系统-Hive
  1. 第二名称节点:1)对名称节点的冷备份;2)对EditLog的处理
    Hadoop文件系统-Hive
数据节点:具体存储数据(存取到本地的Linux系统中)

HDFS体系结构

  1. HDFS命名空间: / + 目录名称
  2. 通信协议:
  3. 局限性:

HDFS存储原理

HDFS读数据

HDFS写数据