HDFS分布式文件系统

hadoop的核心
  • HDFS(Hadoop Distributed Filesystem)
  • MapReduce

HDFS:主要是解决海量大数据的存储问题
HDFS分布式文件系统
这里的服务器A被称为NameNode:维护着文件系统内所有文件和目录的相关信息
服务器B、C、D被称为DataNode:用于存取数据块

HDFS可以运行在廉价的计算机上,存储海量的数据
HDFS分布式文件系统

数据块(block)

每个数据块儿默认大小事128M

机架(Rack)

用于存放部署Hadoop集群服务器
机架感知:提高数据的安全性和可靠性(智能的添加备份)
HDFS分布式文件系统

元数据(Metadata)
  • 维护HDFS文件系统中文件和目录的信息(文件名、目录名、父目录信息、文件大小、创建时间、修改时间等)
  • 记录文件内容存储相关信息(文件分块情况、副本个数、每个副本所在的DataNode信息等)
  • 用来记录HDFS中所有DataNode的信息,用于DataNode管理
HDFS的特点:
  • 优点
    • 高容错
    • 流式数据访问(通过字节流访问)
    • 支持超大文件(将文件切片为block)
    • 高数据吞吐量(一次写入,多次读取)
    • 使用廉价机器,成本低
  • 缺点
    • 高延迟(在备份的时候会消耗好多时间)
    • 不适合小文件存取(不论DataNode服务器中文件大小,NameNode中元数据信息大小是一样的,如果文件太小,不划算)
    • 不适合并发写入(数据一次写入后不允许修改,只允许追加)
HDFS的架构和原理:

主从架构(master/slaves)

HDFS存储架构

HDFS分布式文件系统

HDFS读写原理:
  1. HDFS写数据原理
    HDFS分布式文件系统
  2. HDFS读数据原理
    HDFS分布式文件系统