《大数据基础——基于Hadoop与Spark》课后习题——第三章部分答案
仅用于我个人的学习。书籍为人民邮电出版社的《大数据技术基础——基于Hadoop与Spark》。课后习题选择是我个人认为有用的。记录下来是为了督促我学习:)
共好
3.简述HDFS读写文件的基本原理
假设客户端Client要读取一个文件,首先客户端向NameNode发送数据读操作请求,并通过NameNode获得 组成该文件的数据块的位置列表,即知道每个数据块存储在哪些机架的哪些DataNode之中;然后客户端直接从这些DataNode读取文件数据。
同样,当客户端需要写入一个文件的时候,首先向NameNode发送数据写操作请求,包括文件名和目录路径等部分元数据信息。然后,NameNode告诉客户端到哪个机架的哪个数据节点进行具体的数据写入操作。最后,客户端直接将文件数据传输给DataNode,由DataNode的后台程序负责把数据保存到Linux的本地文件系统之中。
5.NameNode如何知道一个DataNode是否正常工作?
通过心跳检测机制。
每个DataNode节点周期性地向NameNode发送心跳信号和块状况报告,NameNode接收到心跳信号意味着该DataNode节点正常工作。
网络割裂可能导致一部分DataNode与NameNode失去联系,NameNode通过心跳信号的缺失来检测这一情况,并将这些近期不再发送心跳信号的DataNode标记为宕机,不会再将新的I/O请求发给他们。任何存储在DataNode的数据不再有效。
6.简述HDFS的副本存储策略
比较简单的副本存储策略就是将副本存放在不同的机架上。
在默认情况下,HDFS为数据库生成3个副本。HDFS采取更优的存放策略。
(1)选择某个机架的某个节点存放第一个副本
(2)选择同一机架的另一个节点存放第二个副本
(3)选择不同机架的讴歌几点存放第三个副本
下图为多个机架的服务器组成的集群。
D1/D2表示不同的数据中心
R1/R2/R3/R4表示不同机架
H1~H12表示不同的DataNode
PS H1的机架ID是rack_id=/D1/R1/H1。其他以此类推。
7.简述在NameNode所在的Linux文件系统中的edit日志文件和fsimage文件之间的关系
edit文件用来临时存放HDFS文件的元数据,fsimage是一个加密的二进制镜像文件,保存了HDFS文件的元数据,内容包括NameNode管理的所有DataNode中的文件、数据块以及个数据所在的DataNode的元数据信息。
关系:在客户端向HDFS写入文件时,文件信息会首先被记录在edits文件中,之后当时机成熟时再由NameNode将数据合并到fsimage文件中。
8.假设HDFS数据块为64MB,HDFS副本系数为3。现在需要设置一个HDFS存储系统来存储1PB的视频文件,若所用物理硬盘的容量统一为4TB,则至少需要多少个物理硬盘?在HDFS中,该视频文件实际划分成了多少个数据块?
1PB=1024TB=10242GB = 10243MB= 10244KB = 10245B
至少需要(1024TB*3)/4TB=768个物理硬盘
该视频文件实际划分成了10243/64=16 777 216个数据块
这道题不知道是不是这样做的…欢迎指正QWQ
- 《大数据基础——基于Hadoop与Spark》课后习题——第四章部分答案
- C语言程序设计第五版谭浩强著 第三章部分课后习题答案
- 《C语言的科学与艺术》课后习题答案第四章(部分)
- 【备忘】基于Hadoop,Spark大数据技术的推荐系统算法实战教程
- 数据结构与算法分析(java语言描述) 部分课后习题答案 第一章
- 自考本科《计算机网络原理》课后习题参考答案(第三章)
- 《C语言的科学与艺术》课后习题答案第六章(部分)
- JAVA语言程序设计基础课后习题第三章
- 《C语言的科学与艺术》课后习题答案第八章(部分)
- IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)第三章答案
- 大学计算机基础第五版习题和课后题答案
- C语言程序设计第五版谭浩强著 第六章部分课后习题答案
- 数据库系统概论课后习题答案第三章
- C语言程序设计第五版谭浩强著 第四章部分课后习题答案
- C++Primer 中文版 第五版 第三章课后习题答案
- 2008秋-计算机软件基础-第三章习题参考答案 P111
- 编程珠玑第1章部分课后习题答案注解
- C++Primer Plus笔记——第三章 处理数据及课后习题答案
- 数据库系统概论课后习题答案第三章
- 数据挖掘概念与技术(原书第三版)范明 孟小峰译-----第三章课后习题答案