HDFS中数据存储的模式

NameNode管理文件系统的命名空间:

1、文件和目录的元数据:     文件的block副本个数     修改和访问的时间     访问权限     block大小以及组成文件的block信息

2、以两种方式在NameNode本地进行持久化:     命名空间镜像文件(fsimage)和编辑日志(edits log)。

3、fsimage文件不记录每个block所在的DataNode信息,这些信息在每次系统启动的时候从    DataNode重建。之后DataNode会周期性地通过心跳包向NameNode报告block信息。     DataNode向NameNode注册的时候NameNode请求DataNode发送block列表信息。

SecondaryNameNode

1、secondarynamenode请求namenode生成新的edits log文件并向其中写日志。NameNode会在所有的存储目录中更新seen_txid文件

2、SecondaryNameNode通过HTTP GET的方式从NameNode下载fsimage和edits文件到本地。

3、SecondaryNameNode将fsimage加载到自己的内存,并根据edits log更新内存中的fsimage信息,然后将更新完毕之后的fsimage写到磁盘上。

4、SecondaryNameNode通过HTTP PUT将新的fsimage文件发送到NameNode,NameNode将该文件保存为.ckpt的临时文件备用。

5、NameNode重命名该临时文件并准备使用。此时NameNode拥有一个新的fsimage文件和一个新的很小的edits log文件(可能不是空的,因为在SecondaryNameNode合并期间可能对元数据进行了读写操作)。管理员也可以将NameNode置于safemode,通过hdfs dfsadmin -saveNamespace命令来进行edits log和fsimage的合并。   SecondaryNameNode要和NameNode拥有相同的内存。 对大的集群,SecondaryNameNode运行于一台专用的物理主机。

DataNode存储数据模型

1、文件线性切割成块(Block)

2、Block分散存储在集群节点中

3、单一文件Block大小一致,文件与文件可以不一致

4、Block可以设置副本数,副本分散在不同节点中     a) 副本数不要超过节点数量     b) 承担计算

5、文件上传可以设置Block大小和副本数

6、已上传的文件Block副本数可以调整,大小不变

7、只支持一次写入多次读取,同一时刻只有一个写入者

8、可以append追加数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值