【大数据 复习】第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
相关文章:
【大数据 复习】第3章 分布式文件系统HDFS(重中之重)
一、概念 1.分布式文件系统把文件分布存储到多个计算机节点上,通过网络实现、文件在多台主机上进行分布式存储的文件系统。(就是你的电脑存a,我的电脑存pple) 2.降低了硬件开销: 与之前使用多个处理器和专用高级硬件的并行化处理装…...
element-ui里message抖动问题
由于element默认屏蔽滚动条,导致取消时弹message时 侧边滚动栏突然回来后引起抖动问题 是由于打开弹窗时出现遮罩层dialog对话框 时引起了元素内容超出自身尺寸 对应的overflow样式内容为hidden,且新建了一个class类内容为增加17 内右边距,当…...
Attention系列总结-粘贴自知乎
1. 梦想做个翟老师:阿里:Behavior Sequence Transformer 解读48 赞同 7 评论文章 优点:捕捉用户行为历史序列中的顺序信息。w2v也是捕捉用户序列信息的,本质差异在于啥? 添加图片注释,不超过 140 字(可选࿰…...
swagger下载文件名中文乱码、swagger导出文件名乱码、swagger文件导出名称乱码、解决swagger中文下载乱码bug
文章目录 一、场景描述:swagger导出文件名称乱码二、乱码原因三、解决方法3.1、方法一、在浏览器中输入地址下载3.2、方法二、swagger升级为2.10.0及以上 四、可能遇到的问题4.1、DocumentationPluginsManager.java:152 一、场景描述:swagger导出文件名称…...
191.回溯算法:组合总和|||(力扣)
代码解决 class Solution { public:vector<vector<int>> result; // 存储所有符合条件的组合vector<int> res; // 当前组合// 回溯函数void backtracing(int k, int n, int index, int sum) {// 如果当前组合的长度等于k,且总和等于nif (res.si…...
JupyterLab使用指南(二):JupyterLab基础
第2章 JupyterLab基础 2.1 JupyterLab界面介绍 JupyterLab的用户界面非常直观和灵活。它包括文件浏览器、工作区、多标签页、命令面板和侧边栏等功能。以下是各个部分的详细介绍: 2.1.1 文件浏览器 文件浏览器位于界面左侧,用于导航和管理文件。你可…...
ubuntu18.04 + openssl + engine + pkcs11+ softhsm2 双向认证测试
安装环境 openssl 1.1.1 pkcs11-tool (由sudo apt-get install opensc 安装) libpksc11 (需源码安装apt install 只有libp11, 源码安装才有 libpksc11.so -> pkcs11.so) softhsm2 (由sudo apt-get install softhsm…...
【C++】类和对象2.0
俺来写笔记了,哈哈哈,浅浅介绍类和对象的知识点! 1.类的6个默认成员函数 俺们定义一个空类: class N {}; 似乎这个类N里面什么都没有,其实不是这样子的。这个空类有6个默认的成员函数 。 默认成员函数:…...
【LLM之KG】KoPA论文阅读笔记
研究背景 知识图谱补全(KGC)是通过预测知识图谱中缺失的三元组来完善知识图谱的信息。传统方法主要基于嵌入和预训练语言模型,但这些方法往往忽视了知识图谱的结构信息,导致预测效果不佳。 研究目标 本文的研究目标是探索如何将…...
UI设计速成课:理解模态窗口与非模态窗口的区别
我们日常所说的弹性框架是非常笼统的概念。我们习惯性地称之为对话框架、浮动层和提示条。弹性框架可以分为两种:模态弹性框架和非模态弹性框架。产品需要弹性框架来传递信息,用户需要弹性框架来接受反馈,但是没有经过推敲的弹出窗口设计很容易让用户感到…...
【Linux】基础IO_4
文章目录 六、基础I/O4. 动静态库 未完待续 六、基础I/O 4. 动静态库 既然我们能够成功创建静态库了,接下来我们将这个代码打包成动态库: shared: 表示生成共享库格式 fPIC:产生位置无关码(position independent code) 动态库库名规则&…...
C++模板类原理讲解
C模板类原理讲解 C模板是一种强大的编译期工具,它允许我们创建通用的、类型无关的类和函数。模板的主要目的是实现代码的重用和泛型编程。模板类的原理涉及以下几个方面: 模板的定义和实例化模板的类型参数模板特化模板的编译过程模板的优点和缺点 1.…...
scratch编程03-反弹球
这篇文章和上一篇文章《scratch3编程02-使用克隆来编写小游戏》类似(已经完全掌握了克隆的可以忽略这篇文章),两篇文章都使用到了克隆来编写一个小游戏,这篇文章与上篇文章不同的是,本体在进行克隆操作时,不…...
postgresql数据库进阶知识
postgresql数据库进阶知识 # 如果表存在就先删除 drop table if exists student; # 创建学生表 # id serial not null 表示id自增 # id integer not null 表示id不自增 create table student (id serial not nullconstraint student_pkprimary…...
关于HTTP劫持,该如何理解、防范和应对
一、引言 HTTP劫持(HTTP Hijacking)是一种网络安全威胁,它发生在HTTP通信过程中,攻击者试图通过拦截、篡改或监控用户与服务器之间的数据流量,以达到窃取敏感信息或执行恶意操作的目的。今天我们就来详细了解HTTP劫持…...
System.Data.OracleClient.OracleException:“ORA-12571: TNS: 包写入程序失败
System.Data.OracleClient.OracleException:“ORA-12571: TNS: 包写入程序失败 解决方法: 首先%oracle_home%/network/admin下的sqlnet.ora文件,把SQLNET.AUTHENTICATION_SERVICES (NTS)加个 # 注释掉就好了...
saas产品运营案例 | 联盟营销计划如何帮助企业提高销售额?
在当今数字化时代,SaaS(软件即服务)产品已成为企业提高效率、降低成本的重要工具。然而,面对激烈的市场竞争,如何有效地推广SaaS产品、提高销售额,成为许多企业面临的挑战。林叔将以ClickFunnels为例&#…...
模式分解算法-满足3NF的无损且保持函数依赖的分解算法、满足BCNF的无损连接分解算法
一、引言 1、对指定的关系模式,若范式级别较低,为第一范式或第二范式,由于存在数据冗余或更新异常问题,在实际中一般是不可用的,关系模式的规范化就是将满足低一级的关系模式分解为若干满足高一级范式的关系模式的集合…...
荷兰与法国战平,双方能携手出现?
就在昨天晚上,荷兰队经历了90分钟的鏖战,最终0-0与法国队握手言和。此役,哈维-西蒙斯为荷兰队打进一球,但进球被判无效。从目前的积分形势来看,双方基本上确定携手晋级16强赛。本场比赛,荷兰队后卫内森-阿克…...
数据可视化实验二:回归分析、判别分析与聚类分析
目录 一、使用回归分析方法分析某病毒是否与温度呈线性关系 1.1 代码实现 1.2 线性回归结果 1.3 相关系数验证 二、使用判别分析方法预测某病毒在一定的温度下是否可以存活,分别使用三种判别方法,包括Fish判别、贝叶斯判别、LDA 2.1 数据集展示&am…...
FL论文专栏|设备异构、异步联邦
论文:Asynchronous Federated Optimization(12th Annual Workshop on Optimization for Machine Learning) 链接 实现Server的异步更新。每次Server广播全局Model的时候附带一个时间戳,Client跑完之后上传将时间戳和Model同时带回…...
【Java毕业设计】基于JavaWeb的礼服租赁系统
文章目录 摘 要Abstract目录1 绪论1.1 课题背景和意义1.2 国内外研究现状1.2.1 国外研究现状 1.3 课题主要内容 2 开发相关技术介绍2.1 Spring Boot框架2.2 Vue框架2.3 MySQL数据库2.4 Redis数据库 3 系统分析3.1 需求分析3.1.1 用户需求分析3.1.2 功能需求分析 3.2 可行性分析…...
代码随想录训练营Day 66|卡码网101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
1.孤岛的总面积 101. 孤岛的总面积 | 代码随想录 代码:(bfs广搜) #include <iostream> #include <vector> #include <queue> using namespace std; int dir[4][2] {1,0,0,1,-1,0,0,-1}; int count; void bfs(vector<vector<int>>&a…...
根据状态转移写状态机-二段式
目录 描述 输入描述: 输出描述: 描述 题目描述: 如图所示为两种状态机中的一种,请根据状态转移图写出代码,状态转移线上的0/0等表示的意思是过程中data/flag的值。 要求: 1、 必须使用对应类型的状…...
PyTorch C++扩展用于AMD GPU
PyTorch C Extension on AMD GPU — ROCm Blogs 本文演示了如何使用PyTorch C扩展,并通过示例讨论了它相对于常规PyTorch模块的优势。实验在AMD GPU和ROCm 5.7.0软件上进行。有关支持的GPU和操作系统的更多信息,请参阅系统要求(Linux…...
Hadoop archive
Index of /dist/hadoop/commonhttps://archive.apache.org/dist/hadoop/common/...
R语言——R语言基础
1、用repeat、for、while计算从1-10的所有整数的平方和 2、编写一个函数,给出两个正整数,计算他们的最小公倍数 3、编写一个函数,让用户输入姓名、年龄,得出他明年的年龄。用paste打印出来。例如:"Hi xiaoming …...
VFB电压反馈和CFB电流反馈运算放大器(运放)选择指南
VFB电压反馈和CFB电流反馈运算放大器(运放)选择指南 电流反馈和电压反馈具有不同的应用优势。在很多应用中,CFB和VFB的差异并不明显。当今的许多高速CFB和VFB放大器在性能上不相上下,但各有其优缺点。本指南将考察与这两种拓扑结构相关的重要考虑因素。…...
elasticsearch安装(centos7)
先给出网址 elasticsearch:Download Elasticsearch | Elastic elasticKibana:Download Kibana Free | Get Started Now | Elastic Logstash:Download Logstash Free | Get Started Now | Elastic ik分词:Releases infinilabs/…...
Java高手的30k之路|面试宝典|精通JVM(二)
JVM基本结构 类加载子系统:负责将.class文件加载到内存中,并进行验证、准备、解析和初始化。运行时数据区:包括堆(Heap)、方法区(Method Area)、Java栈(Java Stack)、本…...
网站经营/百度seo技术优化
Equivalent Strings Problems Link: http://codeforces.com/contest/559/problem/B Mean: 给定两个等长串s1,s2,判断是否等价。 等价的含义为: 若长度为奇数,则必须是相同串。 若长度是偶数,则将两串都均分成…...
网站建设价格裙/上海最近3天疫情情况
微信小程序的运行过程 在我们开发微信小程序中,最需要弄明白的就是其中的运行过程,你才能更好的进行开发 第一步是app onLaunch第二部是app onShow接着是首页的onLoad下面就是onShow这里就是onReady 其中app onLaunch是当小程序初始化完成时,会触发 onLaunch&…...
公众平台 wordpress/快速seo整站优化排行
Notepad Java开发环境配置 2008-12-29 22:13:04分类: Java uiNotepad Java开发环境配置1. 安装JDK下载JDK 6下载http://developers.sun.com.cn/download/java_se.html运行安装程序,按照屏幕提示完成JDK 6的安装,下面为安装路径:E:…...
wordpress主题手机版/app推广文案
1. 解压本地固件库包后需要将文件夹放到指定路径,该指定路径为cubemx软件中的help -> updater settings -> updater settings -> repository folder中的路径,本人的路径为C:/Users/WR/STM32Cube/Repository/。之前没有放到指定路径,…...
怎样做影视网站/站长论坛
一前言 本来使用qq邮箱发送邮件,然后借助sendEmail来发送邮件告警,但是有每天的200封限制,很是不爽,于是想到来自己搭建邮件服务器来解决这个问题,关于使用sendEmail来借助qq邮箱来发送邮件详见http://www.cnblogs.com…...
软件ui设计软件/刷关键词排名seo
其实就是一个学员问SQL Server 是否能存放的于NAS(UAC 的路径下)。 官方的回答简略版本为:可以,需要满足一些强制性的硬件要求。但需要考虑一系列的性能的问题。 http://support.microsoft.com/kb/304261/zh-cn转载于:https://www…...