博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDFS
阅读量:4993 次
发布时间:2019-06-12

本文共 6652 字,大约阅读时间需要 22 分钟。

HDFS体系结构

 

 

  1:namenode[守护进程]作用:

    -->管理文件系统名称空间;【fsimage元数据镜像文件】

    -->管理客户端对文件的访问;【edits操作文件】

    -->Namenode执行文件系统命名空间操作,如打开,关闭,重命名文件和目录【edits操作文件】

    -->确定block到Datanode的映射(注意:通过心跳机制,status和blockreport:默认3秒一次)

  2:datanode[守护进程]:

    -->用于管理连接到它们所运行的节点的存储。【block信息:block和block.mate】

    -->负责提供来自文件系统客户端的读取和写入请求

    -->还执行块创建,删除

  3:block:文件被分成一个或多个块,这些块存储在一组Datanode中(默认3份)

元数据

 

 

  1:查看fsimage文件

    命令:$>hdfs oiv -i fsimage_0000000000000000022 -o ~/fs22.xml -p XML

    含义:将fsimage0000000000000000022的这个文件导出到~/fs22.xml 以XML的格式

 

1000
1002
0
1073741826
22
16390
16385
DIRECTORY
1528043810446
hyxy:supergroup:rwxr-xr-x
9223372036854775807
-1
16386
DIRECTORY
user
1528043865470
hyxy:supergroup:rwxr-xr-x
-1
-1
16387
DIRECTORY
hyxy
1528044944833
hyxy:supergroup:rwxr-xr-x
-1
-1
16388
DIRECTORY
20180603
1528044017284
hyxy:supergroup:rwxr-xr-x
-1
-1
16390
FILE
text.txt
3
1528044017272
1528044016919
134217728
hyxy:supergroup:rw-r--r--
1073741826
1002
12
0
16385
16386
16386
16387
16387
16388
16388
16390
16385
0
0
1

 

  hdfs:分布式文件系统【分布式{切块和复本}---文件系统{逻辑上的}】

  镜像文件当中包含哪些信息,参照上述XML

 

  2:查看edits文件

    命令:$>hdfs oev -i edits_inprogress_0000000000000000040 -o ~/ed.xml

    含义:将edits_inprogress_0000000000000000040文件导出到~/ed.xml 默认为XML格式

    

-63
OP_START_LOG_SEGMENT
40
OP_MKDIR
41
0
16392
/hyxy
1528055285399
hyxy
supergroup
493

  edits文件记录的是我们的操作,里面有个record标签,下面就是记录的我们的操作。

 

namenode的开启和运行过程

 

 

  一:开启

    1:默认目录下{hadoop.tmp.dir/dfs/name/current},fsimage文件存储为2个,加载fsimage_txid最后一个。

    2:加载edits_txid操作文件至内存中,元数据已经全部加在在内存上。

    3:保存checkpoint(检查点):合并fsimage和edits文件,重新生成新的镜像文件。

    4:等待接受来自datanode的block report。

  二:运行(内存)

    1:记录对hdfs的编辑操作,追加到edits_inprogress_txid

    2:更新内存中的元数据,达到一定的阈值后,运行checkpoint(检查点)

    3:接受来自datanode的心跳信息

checkpoint检查点机制(相关属性)

 

 

  1:checkpoint周期,默认为3600秒

dfs.namenode.checkpoint.period
3600
两个定期检查点之间的秒数。

  2:txid的次数达到1百万次,也执行checkpoint,与周期无关

dfs.namenode.checkpoint.txns
1000000
无论'dfs.namenode.checkpoint.period'是否已经过期,Secondary NameNode或CheckpointNode都会为每个'dfs.namenode.checkpoint.txns'事务创建名称空间的检查点。

  3:每隔60秒检查txid操作次数

dfs.namenode.checkpoint.check.period
60
SecondaryNameNode和CheckpointNode会每隔60秒查询NameNode以查询未检查点的事务数量。

 

  上述两个条件均可以触发checkpoint。

 

转载于:https://www.cnblogs.com/lyr999736/p/9135241.html

你可能感兴趣的文章
数据结构C++版-树
查看>>
JavaScript学习总结--创建对象(3_原型)
查看>>
FZU 2092 收集水晶 dp+bfs
查看>>
Java学习---网页编辑器FCKeditor使用详解
查看>>
IDEA开发React环境配置
查看>>
香港两日游
查看>>
cordova 打包发布正式版 apk
查看>>
常用集合比较
查看>>
二分搜索
查看>>
感觉这周的每日都是累
查看>>
Tarjan求点双连通分量
查看>>
Tomcat项目自动部署脚本
查看>>
Python操作MySQL数据库
查看>>
自动化部署之jenkins及简介
查看>>
CodeForces 1152D Neko and Aki's Prank
查看>>
Python 用pygame模块播放MP3
查看>>
inline必须在定义、实现都标记
查看>>
从单链表到循环链表
查看>>
百度招聘无处不在!
查看>>
丢失控制文件恢复实验记录--3(当前的控制文件损坏,归档日志文件损坏且备份的控制文件是旧的情况恢复数据库)...
查看>>