趣文网 > 作文大全

面试总被问到 HDFS 似懂非懂的回答不如看看这篇阿里P8的整理总结

2020-12-05 15:10:01
相关推荐

HDFS快照:

一个snapshot(快照)是一个全部文件系统、或者某个目录在某一时刻的镜像快照可以应用如下场景:防止用户的错误操作备份试验/测试灾难恢复HDFS的快照操作:开启快照hdfs dfsadmin -allowSnapshot /input创建快照hdfs dfs -createSnapshot /input backup_input_01查看快照:hdfs lsSnapshottableDir对比快照:hdfs snapshotDiff /input backup_input_01 backup_input_02恢复快照:![group](imgs/group.png)hdfs dfs -cp /input/.snapshot/backup_input_01/data.txt /input

HDFS架构:

NameNodeDataNodeSecondary NameNode

元数据存储细节

一、NameNode

是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的操作请求。文件包括:hdfs-site.xml的dfs.name.dir属性fsimage:元数据镜像文件。存储某一时段NameNode内存元数据信息。edits:操作日志文件。fstime:保存最近一次checkpoint的时间以上这些文件是保存在linux的文件系统中。

二、NameNode的工作特点

Namenode始终在内存中保存metedata,用于处理“读请求”到有“写请求”到来时,namenode会首先写editlog到磁盘,即向edits文件中写日志,成功返回后,才会修改内存,并且向客户端返回Hadoop会维护一个fsimage文件,也就是namenode中metedata的镜像,但是fsimage不会随时与namenode内存中的metedata保持一致,而是每隔一段时间通过合并edits文件来更新内容。Secondary namenode就是用来合并fsimage和edits文件来更新NameNode的metedata的。

三、SecondaryNameNode

HA的一个解决方案。但不支持热备。配置即可。HA (双机集群(HA)系统简称):HA 是High Available缩写,是双机集群系统简称,指高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把二者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,替换旧的fsimage.默认在安装在NameNode节点上,但这样...不安全!四、secondary namenode的工作流程

1、secondary通知namenode切换edits文件2、secondary从namenode获得fsimage和edits(通过http)3、secondary将fsimage载入内存,然后开始合并edits4、secondary将新的fsimage发回给namenode5、namenode用新的fsimage替换旧的fsimage五、什么时候checkpiont

fs.checkpoint.period:指定两次checkpoint的最大时间间隔,默认3600秒。fs.checkpoint.size:规定edits文件的最大值,一旦超过这个值则强制checkpoint,不管是否到达最大时间间隔。默认大小是64M。

六、Datanode

hdfs-site.xml的dfs.replication属性

提供真实文件数据的存储服务。文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分并编号,划分好的每一个块称一个Block。HDFS默认Block大小是128MB,以一个256MB文件,共有256/128=2个Block.不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间Replication。多复本。默认是三个。HDFS的安全模式

什么是安全模式?安全模式是hadoop的一种保护机制,用于保证集群中的数据块的安全性。如果HDFS处于安全模式,则表示HDFS是只读状态。当集群启动的时候,会首先进入安全模式。当系统处于安全模式时会检查数据块的完整性。假设我们设置的副本数(即参数dfs.replication)是5,那么在datanode上就应该有5个副本存在,假设只存在3个副本,那么比例就是3/5=0.6。在配置文件hdfs-default.xml中定义了一个最小的副本的副本率0.999,如图:

我们的副本率0.6明显小于0.99,因此系统会自动的复制副本到其他的dataNode,使得副本率不小于0.999.如果系统中有8个副本,超过我们设定的5个副本,那么系统也会删除多余的3个副本。虽然不能进行修改文件的操作,但是可以浏览目录结构、查看文件内容。在命令行下是可以控制安全模式的进入、退出和查看的:查看安全模式状态:hdfs dfsadmin -safemode get进入安全模式状态:hdfs dfsadmin -safemode enter离开安全模式状态:hdfs dfsadmin -safemode leave

如果觉得对你有所帮助。记得收藏和关注呦!(每日更新各种框架)

如需转载请注明出处(创作不易请见谅)

和巨婴程序猿一起成长。让自己变的更优秀

想了解更多精彩内容,快来关注跟着巨婴去逆袭

我最近一直在思考(大数据通俗讲解)的问题,你的看法是什么呢?关注我快说出来一起交流一下吧~

单选 | 喜欢文字排版还是喜欢加一些动漫元素

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

八年级上册作文 童年作文600字 怎么写好作文 八下英语作文 作文素材高中版 高中生作文800字 写事的作文怎么写 关于中考的作文 三年级英语作文 乡愁作文 多肉作文 孝顺作文 作文寒假生活 白衣天使作文 作文成长 雅思大作文 出游作文 羽毛球作文 野餐作文 苏轼作文 行走 作文 乐乐作文 写美景的作文 意外作文 奋斗作文素材 一千字作文 那一次 作文 作文有你真好 做自己 作文 表白作文