目录
HDFS-API-Fsimage和Edits解析
- Fsinmage文件:HDFS文件系统元数据的一个永久性的检查点,其中包含所有目录和文件的inode序列化信息。
- Edits文件:存放HDFS文件系统的所有更新操作的路径,文件系统客户端的所有写操作首先会被记录到Edits文件中。
- seen-exid文件保存的是一个数字,就是最后一个edits-的数字。
- 每次NameNode启动的时候都会将Fsimage文件读入内存,加载Edits里面的更新操作,保证内存中的元数据信息是最新的、同步的,可以看成NameNode启动的时候就将Fsimage和Edits文件进行了合并。
一、oiv查看Fsimage文件
- 查看oiv和oev命令
[atguigu@hadoop102 current]$ hdfs oiv apply the offline fsimage viewer to an fsimage oev apply the offline edits viewer to an edits file
;
-
基本语法
hdfs oiv -p 文件类型 -i镜像文件 -o 转换后文件输出路径
;
-
下载到win电脑
- 在win系统中查看
二、oev查看Edits文件
基本语法
hdfs oev -p 文件类型 -i编辑日志 -o 转换后文件输出路径
掉线时参数设置
- DataNode进程死亡或者网络故障造成DataNode无法与NameNode通信
- NameNode不会立即把该节点判断为死亡,要经过一段时间,这段时间暂称作超时时长
- HDFS默认的操作时长为10分钟+30秒
- 如果定义时间为TimeOut,则超时时长的计算公式为:TimeOut = 2*dfs.namenodleheatbeat.interval.而默认的是hdfs-site。xml配置的文件中的hearbeat.recheck.interval大小为5分钟,dfs.heartbeat.interval.
- 需要注意的是hdfs-site-xml配置的文件中的beartbeat。recheck.interval的单位为毫秒,dfs.heartbeat.interval的单位为秒。
<property> <name>dfs.namenode.heartbeat.recheck-interval</name> <value>300000</value> </property> <property> <name>dfs.heartbeat.interval</name> <value>3</value> </property>
;
总结:
- HDFS文件块大小(面试重点)文件块的大小和硬盘的读写速度有关。在企业中 一般128m(中等公司) 256(大公司)
- HDFS的shell操作(开发重点)
- HDFS的读写流程