我是靠谱客的博主 感动鱼,最近开发中收集的这篇文章主要介绍【HDFS】Hadoop的分布式文件系统知识点总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

>_<

首先,我们需要从整体上了解什么是分布式文件系统 >_<。
 
分布式文件系统把文件存储到多个计算机节点上,成千上万的计算机节点构成计算机集群
计算机集群听着高大上,其实是由普通廉价硬件组成,硬件开销是极低的!
 
在这里插入图片描述
好了,我们已经知道分布式文件系统是由计算机集群上的多个节点组成的——这些节点分为两类:

  1. 名称节点(NameNode),也称为主节点(MasterNode)
  2. 数据节点(DataNode),也称为从节点(SlaveNode)
     在这里插入图片描述

 
 
 

一·HDFS简介

HDFS是一种分布式文件系统:Hadoop Distributed File System(即“Hadoop的分布式文件系统”)
 
HDFS的目标

  1. 兼容廉价的硬件设备
  2. 流数据读写
  3. 大数据集
  4. 简单的文件模型
  5. 强大的跨平台兼容性

HDFS的局限性

  1. 不适合低延迟数据访问
  2. 无法高效存储大量小文件
  3. 不支持多用户写入及任意修改文件

 
 

二·HDFS相关概念

 
块(Block)

一个大规模文件被分为多个块,以块作为存储单位。HDFS默认一个块64MB

比起其他文件系统,这个块其实真的已经非常非常大了。

下面介绍块的好处(一定要多理解 >_< !):

  1. 支持大规模文件存储。因为一个大规模文件可以被拆分为多个文件块,这些文件块可以被分到不同的节点。这样文件大小就脱离了单个节点大小的限制
  2. 简化系统设计。每个块足够大,而且大小固定,因此索引开销很小;其次,文件块和元数据是脱离的,管理更加方便
  3. 适合数据备份。每个文件块可以冗余到多个节点上,进行备份
     

名称节点和数据节点

名称节点 NameNode数据节点 DataNode
维护文件数据节点的映射维护块id本地文件的映射
存储元数据存储文件内容
元数据位于内存文件内容位于磁盘

一些相关细节:

  1. 名称节点由两个核心的数据结构组成:
    在这里插入图片描述

  2. 由上图不难看出,EditLog的作用是日志备份
    它通常可以达到GB级,并且会不断膨胀。为了解决名称节点运行期间EditLog不断膨胀的问题,采用了SecondaryNameNode——第二名称节点
     
    第二名称节点通常单独运行在一台机器上。

 

 

三·HDFS体系结构

主从结构模型(Master/Slave)

在这里插入图片描述

通信协议

基于网络传输,因此采用TCP/IP协议
 
客户端

打开、读取、写入这些文件操作,都是在客户端进行

但是客户端仅仅知道文件名,要想真正操作文件的内容,需要先向名称节点提出请求,名称节点存有根目录→目录→文件→数据节点的映射,因而名称节点可以给客户端一个数据节点的列表,从而让他得以找到真正的数据节点。

 
体系结构局限性

HDFS体系结构的局限性都来源于:只设置 唯一 名称节点(NameNode)

  1. 命名空间的限制:名称节点毕竟是在内存中,实在是受限
  2. 性能的瓶颈:名称节点的性能瓶颈,就是整个系统的性能瓶颈
  3. 隔离问题:只有一个名称节点,自然无法隔离
  4. 集群的可用性:名称节点出问题,整个集群直接玩完

 
 

四·HDFS存储原理

冗余数据保存

增加数据容错性可靠性的惯用伎俩——冗余备份
 
数据存取

存放:副本不仅要随机放到不同节点,还要让这些节点属于不同机架

读取:客户端请求读取时,从名称节点那里要来一个数据节点列表,上面有所有的副本
 
错误与恢复

  1. 名称节点出错:名称节点(FsImage+EditLog)出错整个集群就全完了——幸好有第二名称节点(SecondaryNameNode)做了备份
  2. 数据节点出错:数据节点会定期向名称节点发送心跳,心跳停止则说明该数据节点出错——这没什么,数据节点的冗余备份多的是
  3. 数据出错:通过读取数据信息后进行校验,得知是否出错——出错了也没什么,原因还是有备份

 

 

 

 

 

 

 

最后

以上就是感动鱼为你收集整理的【HDFS】Hadoop的分布式文件系统知识点总结的全部内容,希望文章能够帮你解决【HDFS】Hadoop的分布式文件系统知识点总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部