HDFS简介

课程链接:Hadoop大数据平台架构与实践--基础篇

1.HDFS基本概念

HDFS设计架构

  • 块(Block)文件被切分成块进行存储,默认大小为64MB,块是文件存储处理的逻辑单元(备份、查找)
  • NameNode是管理节点,存放文件元数据
  1. 文件与数据块的映射表
  2. 数据块与数据节点的映射表

  

  客户查询一个访问请求,那么会向上NameNode去查询元数据,返回的结果会知道文件存放在哪些节点上面,于是向这些节点去拿数据块,得到数据块后再组装拼接成想要的文件

  • DateNode是工作节点,存放数据块

  

2.数据管理策略

HDFS中数据管理与容错

默认的数据块保留三份(多份冗余),其中两份在同一个机架上面

 心跳检测

判断是否断机、宕机,NameNode也可知道哪些DataNode已经挂了

SecondaryNameNode

3.HDFS中文件的读写操作

客户端(Java程序、命令行)发起文件读取请求(将文件名、路径告诉NameNode)

NameNode查询元数据,返回客户端(文件包含哪些块,分别在哪些DataNode里可找到)

客户端找到这些DataNode读取Blocks,下载下来后进行组装

4.HDFS特点

  1. 数据冗余,硬件容错(允许运行在廉价机上的容错)
  2. 流式的数据访问(一次写入多次读取,写入之后不被修改,要修改只能删除后写入新的块)
  3. 存储大文件(如果太多小文件会使NameNode的负载压力比较大)

 适用性和局限性

  1. 适合数据批量读写,吞吐量高
  2. 不适合交互式应用,低延迟很难满足(不适合数据库)
  3. 适合一次写入多次读取,顺序读写
  4. 不支持多用户并发写相同文件
原文地址:https://www.cnblogs.com/exciting/p/9209801.html