七、HDFS文件系统的存储原理

news2024/9/25 23:19:48

1、总结

        之所以把总结放在文件开头,是为了让读者对这篇文章有更好的理解,(其实是因为我比较懒……)

        对于整个HDFS文件系统的存储原理,我们可以总结为一句话,那就是:

分块+备份

 2、存储结构和问题

(1)存储方式        

对于一个比较大文件,我们可以将文件分为好几个部分,存储在不同的服务器节点上,每一个服务器节点,存储文件的一部分。

(2)造成的问题

        在这种存储模式下,很容易造成文件大小不一的情况,有可能出现a文件大小为1KB,b文件大小为3MB,c文件直接达到5GB的情况,甚至达到TB乃至更高的单位。

(3)解决方法

        对于这种问题,HDFS文件系统将文件大小设定统一的管理单位,划分为block块,一个block块的大小为256MB,如果1GB的文件存储到HDFS文件系统中,则需要划分出4个block块。

(4)隐藏问题

        在这种将文件划分为block块的存储模式下,会出现一个“隐藏且致命”的问题,那就是如果存储的某个节点上的某一个block块被删除或者丢失,那应该如何处理?

        此处将文件划分为9个block块,如果丢失一个block块就会导致文件出现错误,无法使用,如果对于一个特别大的文件,我们将这个文件划分为10000个block块,那么block块丢失的概率回大大增大,那么文件出现问题的概率也会随之增大。

3、解决方案

(1)简单描述

        中国有句古话叫做,“不要把鸡蛋同时放在一个篮子里”,对于每个block文件,我们可以对其尽心备份处理,例如在node1节点里有个名为a的block块,我们可以对a进行备份,分别命名为a_copy1和a_copy2,分别存储在node2和node3节点中。

(2)图文描述

(3)具体实现

        我们可以让每一个block块都有两个副本(默认),分别存储在不同的节点之上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1236422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能座舱架构与芯片- (4) 硬件篇 中

2.4 高速视频传输(GMSL) 为了解决未来汽车系统所面临的问题,美信(Maxim)推出了全新下一代GMSL技术,即吉比特多媒体串行链路(GMSL)串行器和解串器,用来支持未来ADAS和信息娱乐系统要求的宽带、互联复杂度和数据完整性的要求。 GMSL技术可以支…

图Graph的存储、图的广度优先搜索和深度优先搜索(待更新)

目录 一、图的两种存储方式 1.邻接矩阵 2.邻接表 生活中处处有图Graph的影子,例如交通图,地图,电路图等,形象的表示点与点之间的联系。 首先简单介绍一下图的概念和类型: 图的的定义:图是由一组顶点和一…

webpack 配置

1、基础配置 // node js核心模塊 const path require(path) // 插件是需要引入使用的 const ESLintPlugin require(eslint-webpack-plugin) // 自动生成index.html const HtmlWebpackPlugin require(html-webpack-plugin); // 将css文件单独打包,在index.html中…

Windows系统如何安装与使用TortoiseSVN客户端,并实现在公网访问本地SVN服务器

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统,它与Apache Subversion(SVN)集成在一起,提供了一个用户友好的界面,方便用…

计算机基础知识56

choices参数的使用 # 应用场景: 学历:小学、初中、高中、本科、硕士、博士、1 2 3 4 5 6 客户来源: 微信渠道、广告、介绍、QQ、等等 性别:男、女、未知 # 对于以上可能被我们列举完的字段我们一般都是选择使用…

【JavaEE】Spring的创建和使用(保姆级手把手图解)

一、创建一个Spring项目 1.1 创建一个Maven项目 1.2 添加 Spring 框架支持 在pom.xml中添加 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.3.RELEASE&…

智能座舱架构与芯片- (15) 测试篇 下

三、持续集成与交付 3.1 自动化编译框架 在智能座舱软件中&#xff0c;分为上层应用软件和底层软件。有些上层应用软件是与指令集平台无关的&#xff0c;例如Java应用程序等&#xff0c;它们对所运行的CPU平台没有依赖性&#xff0c;可以很好的适配当前平台进行执行。而在底层…

IDEA JRebel安装使用教程

1、下载插件 版本列表&#xff1a;https://plugins.jetbrains.com/plugin/4441-jrebel-and-xrebel/versions 下载&#xff1a;JRebel and XRebel 2022.4.1 这里下载2022.4.1版本&#xff0c;因为后续新版本获取凭证会比较麻烦。下载完成会是一个压缩包。 2、安装 选择第一步…

机器学习笔记 - 创建CNN + RNN + CTC损失的模型来识别图像中的文本

我们将创建一个具有CTC损失的卷积循环神经网络来实现我们的OCR识别模型。 一、数据集 我们将使用 Visual Geometry Group 提供的数据。 Visual Geometry Group - University of OxfordComputer Vision group from the University of Oxfordhttps://www.robots.ox.ac.uk/~vgg/d…

离散数学考前小记

数理逻辑 求前束范式的一般步骤&#xff1a; 利用等值公式消去“ → \rightarrow →”和“ ↔ \leftrightarrow ↔”否定深入改名前移量词 仅含有全称量词的前束范式称为SKOLEM标准形。 SKOLEM标准形的求解算法&#xff1a; 先求谓词演算公式的前束范式使用n元函数干掉存在…

Keil MDK 安装

0 Preface/Foreword 1 下载和安装 官网&#xff1a;Keil Embedded Development Tools for Arm, Cortex-M, Cortex-R4, 8051, C166, and 251 processor families. Keil MDK 下载链接&#xff1a;Keil MDK 1.1 下载 根据需求下载对应的Keil MDK edition。 不同的editions包括 …

洛谷 P3252 [JLOI2012] 树

读题就读趋势了&#xff0c;还以为是每个深度都可以选一个&#xff0c;然后深度升序就可以了&#xff0c;以为是个按深度的01背包。 但是前面还说了是一条路径&#xff0c;路径是不能断开的。那就从每个点开始爆搜一次就好了。 看了一下范围n<1e5&#xff0c;n^2爆搜理论上…

【计算机网络笔记】路由算法之距离向量路由算法

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

从0开始学习JavaScript--JavaScript类型化数组进阶

前面的文章&#xff0c;已经介绍了JavaScript类型化数组的基本概念、常见类型和基本操作。在本文中&#xff0c;我们将深入探讨类型化数组的一些进阶特性&#xff0c;包括共享内存、大端小端字节序、以及类型化数组与普通数组之间的转换&#xff0c;通过更丰富的示例代码&#…

4D毫米波雷达和3D雷达、激光雷达全面对比

众所周知&#xff0c;传统3D毫米波雷达存在如下性能缺陷&#xff1a; 1&#xff09;静止目标和地物杂波混在一起&#xff0c;难以区分&#xff1b; 2) 横穿车辆和行人多普勒为零或很低&#xff0c;难以检测&#xff1b; 3) 高处物体和地面目标不能区分&#xff0c;容易造成误刹…

chromium114添加新的语言国际化支持

一、需求说明 需要chromium114支持新语言体系,例如藏语,蒙古语,苗语等 二、操作步骤 1. build/config/locales.gni修改 在all_chrome_locales变量中添加新的语种标识,如下图。 2. 添加编译文件,告诉浏览器在编译时需要加载和输出那些文件 尝试编译出现错误一提示。需要…

读像火箭科学家一样思考笔记05_思想实验

1. 思想实验室 1.1. 思想实验至少可以追溯到古希腊时期 1.1.1. 从那时起&#xff0c;它们就跨越各个学科&#xff0c;在哲学、物理学、生物学、经济学等领域取得重大突破 1.1.2. 它们为火箭提供动力&#xff0c;推翻政府&#xff0c;发展进化生物学&#xff0c;解开宇宙的奥…

十七、SpringAMQP

目录 一、SpringAMQP的介绍&#xff1a; 二、利用SpringAMQP实现HelloWorld中的基础消息队列功能 1、因为publisher和consumer服务都需要amqp依赖&#xff0c;因此这里把依赖直接放到父工程mq-demo中 2、编写yml文件 3、编写测试类&#xff0c;并进行测试 三、在consumer…

c++|内联函数

一、概念 以inline修饰的函数叫做内联函数&#xff0c;编译时c编译器会在调用函数的地方展开&#xff0c;而不会建立栈帧&#xff0c;提升了程序运行的效率 例子&#xff1a; #include <iostream> using namespace std;int Add(int left, int right) {return left - ri…

【qsort学习及改造冒泡排序能排序任何数】

qsort学习及改造冒泡排序能排序任何数 qsort的使用 qsort的使用 这个函数也不是很复杂&#xff01;&#xff01;&#xff01; qsort(void*base,size_t num,size_t width,int(int (__cdecl *compare )(const void *elem1, const void *elem2 )))  void * base,为数组的基地…