hadoop2hdfs存储原理
1.数据存入HDFS是分布式存储,即每一个服务器节点,负责数据的一部分
2.数据在HDFS上是划分为一个个Block块进行存储。块大小默认为256MB
3.在HDFS上,数据Block块可以有多个副本,提高数据安全性
4.fsck(file system check)命令:修改文件的副本数(默认为3份)
上传时修改:hdfs fsck -dfs.replication=2 -put path
修改已存在的文件:hdfs fsck -setrep 2 path
5.namenode元数据:
元数据就是整个文件系统的信息以及整个文件系统的操作日志
namenode通过一批edits和fsimage来管理整个文件系统的管理和维护
edits文件,是一个流水账文件,记录了hdfs中的每一次操作。但是操作很多之后不易查找,所以有fsimage文件:将全部的edits文件,合并为最终结果,即可得到一个FSImage文件
合并和工作由secondarynamenode完成,通过http协议从namenode拿取edits然后合并为fsimage回传给namenode使用。也是他唯一的职责
fsimage文件记录某个时间点的整个文件系统的结构和状态,包括文件目录、文件路径、文件大小、块数等等
合并流程:
1. 每次对HDFS的操作,均被edits文件记录
2. edits达到大小上线后,开启新的edits记录
3. 定期进行edits的合并操作
5. 重复123流程
合并控制参数(合并周期):
对于元数据的合并,是一个定时过程,基于:
只要有一个达到条件就执行。
检查是否达到条件,默认60秒检查一次,基于:



更多推荐
所有评论(0)