文件系统采用块的概念,原因是为了减少磁盘寻址时间,把寻道时间分摊到大量数据中

Windows Linux等操作系统,文件系统一般会把磁盘空间划分为每512字节一组,称为“磁盘块”
它是文件系统读写的最小单位,块(Block)的大小通常是磁盘块的整数倍,即每次读写的数据量必须是磁盘块大小的整数倍。

磁盘块--512字节     块的大小一般几千字节     磁盘块与块不是同一概念

分布式文件系统也采用了块的概念,文件被分成若干个块进行存储,块是数据读写的基本单位,分布式文件系统的块要比操作系统的块大很多,原因是:最小化寻址开销,但是不宜过大,原因:MapReduce中的Map任务一次只能处理一个块中的数据,如果启动任务过少,会降低作业的并行处理速度。比如。HDFS默认的块的大小是64MB,还有一点不同于操作系统,在分布式系统中,如果一个文件小于一个块的大小,它并不占用整个数据块的存储空间。

名称节点

负责管理命名空间。命名空间包含目录,文件和块,命名空间的管理指的是对目录,文件和块的创建,修改和删除等基本操作。HDFS中只有一个命名空间。

保存了两个数据结构,即FsImage和EditLog。
FSImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据。元数据包括块的位置信息(动态),快的偏移量,权限大小(静态)。EditLog(操作日志)中记录了所有针对文件的创建,删除,重命名等操作。
名称节点记录了每个文件中各个块所在的位置信息,但是不持久化这些信息,而是在系统每次启动的时候扫描所有数据节点重构得到这些信息。
启动时,名称节点会将FSImage的内容加载到内存当中,然后执行EditLog中的各项操作,使得元数据保持到最新。这个操作完成后,会创建一个新的FSImage和一个空的EditLog。启动的过程中处于“安全模式”,只能对外提供读操作,无法提供写操作。启动结束后,退出安全模式,对外提供读写操作。

数据节点

数据节点是分布式文件系统的工作节点,负责数据的存储和读取,会根据客户端或者名称节点的调度来进行数据的存储和检索,并且向名称节点定时发送自己所存储的块的列表,每个数据节点都会将数据保存在各自节点的本地Linux系统中。

第二名称节点

出现原因:防止名称节点在启动的过程中长期处于“安全模式”,影响用户使用(客户体验)。
功能:完成FSImage和Editlog的合并操作,减少Editlog文件大小,缩短名称节点的重启时间。
作为名称节点的“检查点”(备份数据信息)。
不能作为备份节点,原因:不能起到“热备份”。当数据节点出现故障,还是有可能丢失部分信息。

通信协议

HDSF HA

出现原因:解决“单点故障问题”;提供“热备份”。
“单点故障”:一个集群中只有一个名称节点,如果出现故障,导致整个集群变得不可用。
解决方法:在集群中一般设置两个名称节点,其中一个名称节点处于“活跃(Active)”状态,另一个处于“待命(Standby)”状态。处于活跃状态的负责对外处理所有客户端的请求,而处于待命状态的名称节点则为备用节点,保存了足够多的系统元数据,当名称节点出现故障时提供快速恢复的能力。也就是说,在HDFS HA中,处于待命状态的名称节点提供了“热备份”,一旦活跃名称节点出现故障,就可以立即切换到待命名称节点。两种名称节点的同步,可以借助于一个共享存储系统来实现,比如zookeeper。zookeeper可以确保任意时刻只有一个名称节点提供对外服务。

分布式文件系统的结构相关推荐

  1. 【hadoop期末复习】第三章 分布式文件系统HDFS 超详细讲解(更新完毕)

    ** 本专栏的Hadoop复习计划文章内容主要包含以下几个部分: [简单]学习通习题 [进阶]课本课后练习 [操作]相关章节实验回顾 ** 使用教材:大数据技术原理与应用(第3版)林子雨 编著 ** ...

  2. 大数据技术基础笔记3 分布式文件系统HDFS

    文章目录 3.1 分布式文件系统 3.2 HDFS简介 3.3 HDFS相关概念 3.4 HDFS体系结构 3.5 HDFS存储原理 3.6 HDFS数据读写过程 3.7 HDFS编程实践 3.1 分 ...

  3. 分布式文件系统HDFS

    分布式文件系统HDFS 1.分布式文件系统 计算机集群结构 分布式文件系统的结构 2.HDFS简介 3.HDFS相关概念 HDFS中的块 HDFS主要组件的功能 4.HDFS体系结构 5.HDFS储存 ...

  4. 3分布式文件系统HDFS

    3.1分布式文件系统 3.1.1计算机集群结构 分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群. 与之前使用多个处理器和专用高级硬件的并行化处理装置不同的是,目前的 ...

  5. 第3章 分布式文件系统HDFS(精心梳理 详解HDFS )

    分布式文件系统(Distributed File System)是一种通过网络实现文件在多台主机上进行分布式存储的文件系统.分布式文件系统的设计一般采用"Client/Server(客户机/ ...

  6. Hadoop系列之六:分布式文件系统HDFS

    1.MapReduce与分布式文件系统 前面的讨论中,我们已经得知,Hadoop中实现的MapReduce是一个编程模型和运行框架,它能够通过JobTracker接收客户提交的作业而后将其分割为多个任 ...

  7. 无忧技术带您预览DFS(分布式文件系统)管理控制台

    相关图文文章请查看http://www.itpro8.com/weiruanjishu/Windows2003/2010/0107/131.html DFS(分布式文件系统)的管理控制台是一个图形界面 ...

  8. shell 删除了hdfs 文件_知识干货 | 大数据全解 HDFS分布式文件系统

                                                                                      HDFS概述 Hadoop分布式文件 ...

  9. 多种分布式文件系统简介

    2019独角兽企业重金招聘Python工程师标准>>> 分布式文件系统 GFS以及 FastDFS.mogileFS.HDFS.TFS等类GFS系统都不是系统级的分布式文件系统,而是 ...

最新文章

  1. ztree树封装 json实例_小白7天入门PHP Web开发 - Day 6[下](综合)个人博客实例讲解用户数据的存储...
  2. Java API —— Collections类
  3. spring Transaction Propagation 事务传播
  4. Floats and marginpars not allowed inside `multicols' Unknown float option `H'. 基于LaTex+VSCode+MAC
  5. 张尧学:祝YOCSEF越办越好
  6. 基于FPGA的IIR滤波器设计
  7. Apache在windows的设置
  8. CVPR 2019 | 近日新出论文汇总(含视频目标分割、GAN、度量学习、高效语义分割等主题)...
  9. 今天才发现自己美工其实很厉害!
  10. UNIX linux vi命令
  11. 使用uniapp的editor组件,图片上传预览等各种功能菜单的使用
  12. iapp卸载指定软件代码,iapp删除文件夹代码
  13. Hopscotch(POJ-3050)
  14. android项目创建好慢,解决 Android Studio 创建项目时极其的慢的尴尬
  15. java 子类克隆_Java 浅克隆、深克隆
  16. QQ文件和公告不显示
  17. matlab绘制站点分布图
  18. 拓嘉启远电商:拼多多店铺怎样才具有竞争力
  19. Arduino实验二十九 PCF8591数模转换传感器实验
  20. Google的几个特别搜索功能(转)

热门文章

  1. Watson基因技术将参与美国乔·拜登癌症登月计划
  2. Box2d For Processing
  3. gnotes随笔记导出文件保存到数据库
  4. Java实现把图片上传到图片服务器(nginx+vsftp)
  5. audio 读取服务器文件夹,从互联网/服务器(并传递到nAudio声音播放器)流声音...
  6. java正则匹配table_js正则匹配table tr
  7. Java简易人员管理系统
  8. vulnstack红日-三
  9. 国产禁用化妆品(转载)
  10. Java IO流详尽解析