【大数据 复习】第3章 分布式文件系统HDFS(重中之重)

一、概念

1.分布式文件系统把文件分布存储到多个计算机节点上,通过网络实现、文件在多台主机上进行分布式存储的文件系统。(就是你的电脑存a,我的电脑存pple)

2.降低了硬件开销:

与之前使用多个处理器和专用高级硬件的并行化处理装置相比,目前的分布式文件系统所采用的计算机集群,都是由普通硬件构成的。

3.设计目标:透明性、并发控制、可伸缩性、容错及安全需求 等 。

4.数据磁盘读写的最小单位是块。

(1)一个文件被分成多个块,以块作为存储单位。

(2)块的大小远远大于普通文件系统,可以最小化寻址开销。

5.采用块的好处

(1)支持大规模文件存储

(2)简化系统设计

(3)适合数据备份

二、名称节点

1.“主节点”(Master Node)或者也被称为“名称结点”(NameNode)

(1)存储元数据

(2)元数据保存在内存

(3)保存文件,块,数据节点 之间的映射关系

(4)在内存中保存着名称空间和文件数据块的地址映射,管理文件系统的命名空间,维护文件系统树及树内所有的文件和目录(通过fsimage)。

2.名称节点和数据节点的关系:

(1)记录每个文件中各个块所在的数据节点信息(即保存在数据节点的位置),但并不永久保存,这些信息会在系统启动时根据数据节点信息重建。

(2)整个HDFS可存储的文件数受限于NameNode的内存大小。

(3)数据流不经过NameNode,  会询问NameNode与哪个DataNode联系。

3.Fslmage、EditLog

(1)每个文件和每个数据块的引用关系数据会定期保存到本地磁盘,信息以两个文件形式永久保存在本地磁盘:FsImage镜像文件,EditLog日志文件。

(2)FsImage文件用于维护文件系统树和元数据,EditLog用于记录关于文件的操作。

(3)在Namenode 启动的时候,它会将FsImage文件中的内容加载到内存中,之后再执行EditLog文件中的各项操作,使得内存中的元数据和实际的同步。一旦在内存中成功建立文件系统元数据的映射,则创建一个新的FsImage文件和一个空的EditLog文件。

4.什么是命名空间?

主要包括以下几个方面的功能:

(1)文件系统的命名管理

(2)元数据存储:

(3)命名空间操作的控制与管理:

(4)数据块的管理:

所以命名空间和名称节点可以说就是一个玩意???

三、第二名称节点

1.用来EditLog 不断变大的问题

(1)用EditLog的操作更新FsImage里面的记录,然后格式化EditLog

(2)作为NameNode的检查点,周期性的备份名称节点的元数据信息。

四、数据节点

1.“从节点”(Slave Node)或者也被称为“数据节点”(DataNode)

(1)存储文件内容

(2)文件内容保存在磁盘

(3)维护了 块id到 数据节点本地文件 的映射关系

(4)向名称节点定期发送自己所存储的块的列表

2.结构:

五、数据错误与恢复

1.名称节点出错

HDFS 设置了备份机制,故障时用第二名称节点当名称节点使用,但是我们的习题告诉我们这样说是不对的,估计是因为这样做仍然会丢失部分数据,所以判定为不对吧。

2.数据节点出错

每个数据节点会定期向名称节点发送“心跳”信息,向名称节点报告自己的状态,如果不发了就是认为死机了,就不用它了。

3.数据出错

有校验机制,如果校验失败,就报告这个数据块出错了。

HDFS 和其它分布式文件系统的最大区别就是可以调整冗余数据的位置。

六、HDFS常用命令(重点)

1.hadoop fs -ls <path>:显示路径指定文件的详细信息(不是内容)

2.hadoop fs -cat<path>:将该路径文件输出(就是运行)

3.hadoop fs -chown:改变路径文件的对应权限。

4.hadoop fs -touchz <path>:在该路径创建一个空文件

5.hadoop fs -mkdir <paths>:创建一个文件夹

6.hadoop fs -put <localsrc> <dst>:从本地通过hdfs上传到dst(就是上传到其他电脑那了)

7.hadoop fs -mv <src> <dest>:将文件从路径下移动到<dst>

8.hadoop fs -rm <path>:删除指定文件

9.hadoop fs -rm -r <path>:删除指定文件夹下所有文件还有文件夹自己

七、习题

单选题

1.HDFS核心的概念是()

A. 单元  

B. 节点  

C. 块  

D. 文件

正确答案:C

记住,记住,记住

2.下面哪个程序负责 HDFS 数据文件存储。( )

A. NameNode  

B. Jobtracker  

C. DataNode  

D. secondaryNameNode

正确答案:C

3.HDFS和其它分布式文件系统的最大区别就是 ( )

A. 可以调整冗余数据的位置  

B. HDFS在部署时都提供了客户端  

C. HDFS是一个部署在集群上的分布式文件系统  

D. HDFS集群中只有一个命名空间

正确答案:A

4.名称结点在分布式文件系统中又叫做( )

A. 数据节点  

B. 从节点  

C. 集群节点  

D. 主节点

正确答案:D

5.如何解决名称节点运行期间EditLog不断变大导致的名称节点启动缓慢的问题?( )

A. 第二名称节点  

B. FsImage  

C. 数据节点协议  

D. RPC(Remote Procedure Call)

正确答案:A

6.Hadoop平台中,创建一个或多个指定文件夹的命令是()。

A. hadoop fs -ls  

B. hadoop fs -chown  

C. hadoop fs -mkdir  

D. hadoop fs -copyFromLocal

正确答案:C

7.Hadoop平台中,显示指定文件夹详细信息的命令是()

A. hadoop fs -ls  

B. hadoop fs -chown  

C. hadoop fs -mkdir  

D. hadoop fs -copyFromLocal

正确答案:A

8.当客户端读取数据时,从名称节点获得数据块不同副本的存放位置列表,列表中包含了副本所在的数据节点,客户端通过什么判断读取那个副本?()

A. 块编号  

B. 地理位置  

C. 机架ID  

D. 名称节点指定

正确答案:C

记住,记住,记住

9.名称节点命名空间不足的问题通过下列哪种技术可以解决?()

A. HDFS Federation  (联邦)

B. HDFS HA  

C. SecondaryNameNode

正确答案:A

在后面的第8章会讲

10.副本复制的方式是()

A. 客户端同时在多个数据节点上执行写操作  

B. 数据节点之间流水线复制  

C. 名称节点将数据分别发送到多个数据节点  

D. 客户端直接将数据发送给名称节点

正确答案:B

多选题

11.下列各项中,属于名称节点的功能的有()

A. 管理分布式文件系统系统的命名空间  

B. 记录分布式文件系统中的每个文件中各个块所在的数据节点的位置信息  

C. 管理数据块(Block)映射信息  

D. 在运行过程中合并FSImage和Editlog的内容

正确答案:A,B,C

12.下列各项中,属于DataNode的功能的是()

A. 存储实际的数据块  

B. 执行数据块的读/写操作  

C. 周期性向NameNode汇报心跳信息和数据块信息  

D. 自动配置副本策略

正确答案:A,B,C

13.下列各项中,属于SecondaryNameNode的功能的有()

A. 辅助恢复NameNode  

B. NameNode出现故障的时候直接接管系统  

C. 解决单点故障  

D. 定期合并fsimage和edits,并推送给NameNode

正确答案:A,D

HDFS通过HA(高可用性)机制来解决单点故障问题。第8章内容。

14.下列属于正确的副本存放策略的是()

A. 第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点  

B. 第二个副本:放置在与第一个副本不同的机架的节点上  

C. 第三个副本:与第一个副本相同机架的其他节点上  

D. 更多副本:随机节点

正确答案:A,B,C,D

这个属于副本存放策略内容,建议记忆,讲的是复制一堆作备用的。

15.下列对于HDFS错误与恢复的机制中,描述正确的有()

A. 名称节点出错时,就可以根据备份服务器SecondaryNameNode中的FsImage和Editlog数据进行恢复。  

B. 当数据节点发生故障,或者网络发生断网时,名称节点就无法收到来自一些数据节点的心跳信息,这时,这些数据节点就会被标记为“宕机”,节点上面的所有数据都会被标记为“不可读”,名称节点不会再给它们发送任何I/O请求  

C. 由于一些数据节点的不可用,会导致一些数据块的副本数量小于冗余因子;名称节点会定期检查这种情况,一旦发现某个数据块的副本数量小于冗余因子,就会启动数据冗余复制,为它生成新的副本  

D. 当客户端读取文件的时候,会先读取该信息文件,然后,利用该信息文件对每个读取的数据块进行校验,如果校验出错,客户端就会请求到另外一个数据节点读取该文件块,并且向名称节点报告这个文件块有错误,名称节点会定期检查并且重新复制这个块

正确答案:A,B,C,D

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

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

相关文章

pytest测试框架flaky插件重试失败用例

Pytest提供了丰富的插件来扩展其功能&#xff0c;本章介绍下插件flaky &#xff0c;用于在测试用例失败时自动重新运行这些测试用例。与前面文章介绍的插件pytest-rerunfailures功能有些类似&#xff0c;但是功能上不如pytest-rerunfailures插件丰富。 flaky官方并没有明确pyt…

git stash Pop 后丢失,要如何找回?

文章目录 须知背景描述解决过程 须知 写在前面&#xff1a;我们都知道 stash list 中如果 pop 出来一条&#xff0c;那 list 里就会少一条&#xff0c;但其实使用 git stash pop 并没有真正地将该条 stash 删掉的&#xff0c;而是删除引用而已&#xff0c;因此当我们误 pop 时…

AI在软件开发中的应用

AI在软件开发中的应用可以帮助开发人员更高效地编写和测试代码&#xff0c;并提高软件的质量和性能。它能够帮助加快软件的部署和维护过程&#xff0c;提供更好的开发体验。 编码辅助 帮助开发人员更快地编写代码。例如&#xff0c;AI可以识别代码中的语法错误&#xff0c;并提…

WSL+Anconda(pytorch深度学习)环境配置

动机 最近在读point cloud相关论文&#xff0c;准备拉github上相应的code跑一下&#xff0c;但是之前没有深度学习的经验&#xff0c;在配置环境方面踩了超级多的坑&#xff0c;依次来记录一下。 一开始我直接将code拉到了windows本地来运行&#xff0c;遇到了数不清的问题&a…

LoRaWAN网关源代码分析(基础概念篇)

目录 一、简介 1、lora_gateway 2、packet_forwarder 二、目录结构 1、lora_gateway 2、packet_forwarder 一、简介 LoRaWAN网关的实现主要依赖两个源代码&#xff1a;lora_gateway和packet_forwarder。接下来&#xff0c;我们将从分析源代码入手&#xff0c;移植LoRaWAN源…

ThinkPHP:查询数据库数据之后,更改查询数据的字段名称

一、原始查询数据 含有字段item_no&#xff0c;lot_num&#xff0c;position $data[brushed] db::table(wip_station_transaction) ->where([wip_entity_name>$wip_entity_name,line_code>$line_code,]) ->field([item_no, lot_num, position]) ->select(); …

DAC测试实验——FPGA学习笔记7

一、DAC简介 DAC全称Digital to Analog Converter&#xff0c;即数模转换器。它用于将主控芯片产生的数字值(0和1)转换为模拟值(电压值)。 1、DAC参数指标 2、DAC类型 常用的DAC可大致分为权电阻网络DAC、T型电阻网络DAC、倒T型电阻网络DAC以及权电流型DAC。 3、AD9708/3PD9…

Linux - 记一次某Java程序启动报错(申请内存失败)

文章目录 问题可能原因分析可能原因分析尝试各种解决方案尝试解决过程 解决办法&#xff1a; 调整 overcommit_meory参数overcommit_memory详解什么是 overcommit_memory&#xff1f;overcommit_memory 的选项及其含义配置 overcommit_memory查看当前设置设置 overcommit_memor…

github-chinese,跟英文GitHub说拜拜

背景 对于我们程序员来说,Github是一个常逛的web网站,里面学习资源众多,不管是查问题还是查资料都离不开他。 但是Github作为一个国际化的网站,语言主要是英语,所以对于一些英语似懂非懂的同学来说还是有一些难处。 想过找一个国内中文的Github作为一个平替网站,但是资…

访问网站时IP被屏蔽是什么原因?

在互联网使用中&#xff0c;有时我们可能会遇到访问某个网站时IP地址被屏蔽的情况。IP地址被网站屏蔽是一个相对常见的现象&#xff0c;而导致这种情况的原因多种多样&#xff0c;包括恶意行为、违规访问等。本文将解释IP地址被网站屏蔽的常见原因&#xff0c;同时&#xff0c;…

Day 30:100346. 使二进制数组全部等于1的最小操作次数Ⅱ

Leetcode 100346. 使二进制数组全部等于1的最小操作次数Ⅱ 给你一个二进制数组 nums 。 你可以对数组执行以下操作 任意 次&#xff08;也可以 0 次&#xff09;&#xff1a; 选择数组中 任意 一个下标 i &#xff0c;并将从下标 i 开始一直到数组末尾 所有 元素 反转 。 反转 …

平面设计软件PS/AI/ID/CDR怎么选怎么下载(附教程)

随着设计行业的普遍化&#xff0c;平面设计软件也越来越多且功能越来越强大。平面设计软件需要在电脑上运行使用&#xff0c;来进行平面画面、平面文字的设计工作。如大家所了解的&#xff0c;Adobe Photoshop、Adobe Illustrator、CorelDRAW、Adobe InDesign是平面设计中最常用…

Kubernetes相关生态

1、Prometheus、Metrics Server与Kubernetes监控体系 简介&#xff1a; Prometheus 项目与 Kubernetes 项目一样&#xff0c;也来自于 Google 的 Borg 体系&#xff0c;它的原型系统&#xff0c;叫作 BorgMon&#xff0c;是一个几乎与 Borg 同时诞生的内部监控系统 Pro…

MQTT服务器/MQTT_C#客户端/Websoket连MQTT

1 . 搭建MQTT服务器 找到上传中的 emqx-5.3.2-windows-amd64 打开bin如下: 链接: emqx-5.3.2-windows-amd64 如果安装失败 在上传中找到链接: VC_redist.x64.exe 安装。 正确后在浏览器输入 http://127.0.0.1:18083 会有如下mqtt服务端管理页面: 进入客户端认证,创建一个…

IDEA Plugins中搜索不到插件解决办法

IDEA中搜不到插件有三种解决方案&#xff1a; 设置HTTP选项&#xff0c;可以通过File->Settings->Plugins->⚙->HTTP Proxy Settings进行设置 具体可参考这篇博文&#xff1a;IDEA Plugins中搜索不到插件解决办法本地安装&#xff0c;ile->Settings->Plugin…

机器学习数学原理专题——线性分类模型:损失函数推导新视角——交叉熵

目录 二、从回归到线性分类模型&#xff1a;分类 3.分类模型损失函数推导——极大似然估计法 &#xff08;1&#xff09;二分类损失函数——极大似然估计 &#xff08;2&#xff09;多分类损失函数——极大似然估计 4.模型损失函数推导新视角——交叉熵 &#xff08;1&#x…

安徽理工大学2计算机考研情况,招收计算机专业的学院和联培都不少!

安徽理工大学&#xff08;Anhui University of Science and Technology&#xff09;&#xff0c;位于淮南市&#xff0c;是安徽省和应急管理部共建高校&#xff0c;安徽省高等教育振兴计划“地方特色高水平大学”建设高校&#xff0c;安徽省高峰学科建设计划特别支持高校&#…

国产测温速度快且功耗低的温度传感芯片MY18E20可Pin-Pin替换DS18B20

MY18E20是一款国产高精度可编程的数字模拟混合信号温度传感芯片&#xff1b;感温原理基于CMOS半导体PN节温度与带隙电压的特性关系&#xff0c;经过小信号放大、模数转换、数字校准补偿后&#xff0c;数字总线输出&#xff0c;具有精度高、一致性好、测温快、功耗低、可编程配置…

Python+Pytest+Yaml+Request+Allure接口自动化测试框架详解

PythonPytestYamlAllure整体框架目录&#xff08;源代码请等下篇&#xff09; 框架详解 common:公共方法包 –get_path.py:获取文件路径方法 –logger_util.py:输出日志方法 –parameters_until.py&#xff1a;传参方式方法封装 –requests_util.py&#xff1a;请求方式方法封…

Web渗透-文件包含漏洞

一、简介 在程序员开发过程中&#xff0c;通常会把可重复使用的函数写到单个文件中&#xff0c;在使用某些函数时&#xff0c;直接调用此文件&#xff0c;无需在此编写&#xff0c;这种调用文件的过程一般被称为文件包含。随着网站业务的需求&#xff0c;程序开发人员一般希望…