如题所述
内存一份数据,fsImage存储数据(合并后的数据,即没有追加前数据),edits文件只追加,不参与计算
内存数据 == fsImage+edits
服务器启动:将(fsImage+edits)数据加载到内存
服务器关闭:将 fsImage+edits合并
2nn将fsimage和edits文件定期合并
NameNode 被格式化后,将在/opt/module/hadoop-3.1.3/data/tmp/dfs/name/current目录中产生如下文件
2NN 在/opt/module/hadoop-3.1.3/data/tmp/dfs/namesecondary/current
NameNode相比较2nn多了edits_inprogress
NameNode被格式化之后,将在/opt/module/hadoop-3.1.3/data/tmp/dfs/name/current目录产生如下文件
1)fsimage文件:HDFS文件系统元数据的一个永久性检查点,其中包含HDFS文件系统的所有目录和inode的序列化信息
2)Edits文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端执行的所有写操作首先会被记录到edits文件中
3)seen_txid:文件保存的是一个数字,就是最后一个edits_数字
4)VERSION,当前nameNode的命名空间,和集群id
(1)基本语法
hdfs oiv -p 文件类型 -i镜像文件 -o 转换后文件输出路径
(2)实操
NameNode没有记录块所对应DataNode,DataNode启动后向NameNode汇报自己有哪些文件块
(1)基本语法
hdfs oev -p 文件类型 -i 编辑日志 -o 转换后文件输出路径
(2)实操
只进行追加,不进行合并操作。
在服务器启动进入内存,只加载edits后缀大于fsimage后缀。
hdfs-default.xml
1)通常情况下,SecondaryNameNode每隔一个小时执行一次。[hdfs-default.xml]
2)一分钟检查一次操作次数,当操作次数达到1百万次,SecondaryNameNode执行一次。
2nn每隔1分钟,主动查询一次。
通过本节可以知道两个文件fsimage和edits文件作用,通过这两个文件就是NameNode存储的元数据。