Hadoop HDFS
2021-03-22 16:27:45 0 举报
Hadoop相关重点
作者其他创作
大纲/内容
fsimage.chkpoint
edit1.002
2)响应可以上传的文档
2)请求执行checkpoint
4、目前磁盘的传输速率普遍为100MB/s
ZKfsFailover Controller
fsimage
DataNode3
7 blk_1
1)请求是否需要checkpoint
6)dn3应答
Secondary NameNode工作机制
2、寻址时间10ms,即查找到目标的block的时间为10ms
FSImage
元数据
1、集群的Block
HDFS读写过程
DataNode1
把Editlogs改动更新到FSImage上
1)假死
blcokn
3)滚动正在写的edits
3)记录操作日志、更新滚动日志
HDFS读取数据
Client node
DataNode
edits
5block大小=1*100MB/s=100MB
DataNode2
NameNode
blcok3
DistributedFileSystem
edist
blcok1
Zookeeper服务端
7)传输数据
5)请求读数据blk_2
HANameNode原理
3)通知另一台NameNode的Zkfc
4)拷贝到2NN
bytebuffer
复制FSImage
1)加载编辑日志和镜像文件到内存
定时查询NameNode上的Editlogs
4)返回dn1,dn2,dn3三个节点,用用于存储数据
6)生成新的FSImage
6)dn1应答成功
写
7 blk_2
... ...
blcok2
HDFSClient
同时出现两个Active状态的NameNode的术语叫脑裂Brain Split。防止脑裂的两种方式:1)SSH发送kill命令;2)调用用户自定义脚本程序
5)加载到内存并合并
FSDataOutputStream
7 blk_1
standy
3)请求读数据blk_1
2)检测到假死
Secondary NameNode
edit1.003
active
ClientJVM
edit.inpropress
5)
内存
zk2
3)请求上传第一个Block(0-128M),返回DataNode
Edits文件管理系统:QJournal
8)重命名为fsImage
内存中的元数据
4)强行杀死NameNode,防止脑裂 shh kill -9 NameNode进程号
ZkfcFailover Controller
读
/home/kill/poweroff.sh
SecondaryNameNode
6)传输数据
5)请求建立Block传输通道
1)向NameNode请求下载文件
HDFS组成架构
1)向NameNode发送上传请求
2)元数据的增删改查请求
内存128M(每个Block占元数据150byte)
4)传输数据
7)
6)dn2应答
8)数据上传完成
把FSImage拷贝回NameNode上
5)如果ssh补刀失败,则调用用户自定义程序
2)返回目标文件的元数据
zk1
7)拷贝到NN
edit1.001
client
6)获取命令执行结果
zk3
7)激活本台NameNode,切换active
0 条评论
下一页