hdfs的运行机制

HDFS体系结构

  HDFS中运行着2类节点namenode、datanode。一个namenode、多个datanode,namenode和datanode以主从(master-slave)模式运行与HDFS集群中。 

  namenode为管理节点,执行对文件系统命名空间的操作,如:打开、关闭和重命名文件或目录;并且决定文件块与datanode之间的映射关系。

  datanode为工作节点,存储并检索数据块,并定期向namenode发送它们存储的块的列表,接收来自namenode的文件块创建、删除和复本改进等命令。

hdfs的读写机制(简述):

写:

客户端将需要上传的文件进行切分,切分成多个block块,默认大小128M
1.客户端要求向hdfs中写入数据并发送请求给namenode;
2.namenode获取每个datanode的信息;
3.namenode将可存储数据的datanode的信息返回给客户端,告诉客户端该datanode可存储;
4.客户端以流的形式向datanode发送需要写的block块;
5.完成之后datanode会向namenode汇报,这样就完成了上传的工作


读:
1.客户端向namenode发送读的请求;
2.namenode查看datanode的信息,返回block的位置给客户端
3.客户端根据namenode提供的block位置去相应的datanode上面去读取位置


checkpoint操作:

secondarynamenode会定期从 namenode上下载fsimage镜像文件和新生成的edits日志
然后加载fsimage镜像到内存中,然后顺序解析edits文件,对内存中的元数据对象进行修改
整合完成之后,将内存中元数据序列化成一个新的fsimage镜像,并将这个镜像文件上传给namenode


注:
namenode运行时,文件系统的元数据是维护在内存中的(这是为什么运行namenode的机器需要较大的内存,也是为什么HDFS不适合存储大量小文件的原因:创建大量的小文件会急速的消耗掉namenode的内存)。

  而命名空间镜像是文件系统元数据的一个永久性检查点,将元数据序列化保存于本地磁盘。并不是每次操作都会更新该文件,因为fsimage是一个大型文件,频繁操作会使系统极为缓慢。

 

写:

读:

namenode元数据管理机制:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值