HDFS架构理解

HDFS的架构



- NameNode
管理DataNode
- DataNode
存储数据的节点
- Secondary NameNode
这里并不是NameNode的热备,只是NameNode的一个秘书,完成一些数据同步。


元数据存储细节
NameNode(FileName, replicas, block-ids, id2host..)
文件名,副本数量,存储的块ids,具体主机的位置(包括备份的位置)
/test/a.log,3,{blk_1,blk_2},[{blk_1:[h0,h1,h3]},{blk_2:[h0,h2,h4]}]


  1. NameNode介绍

    • 是整个文件系统的管理节点。它维护着整个文件系统的文件目录树,文件/目录的元信息和每个文件对应的数据块列表。接收用户的请求操作
      • 文件包括:
        1). fsimage:元数据镜像文件,存储在磁盘上。存储某一段时间NameNode内存元数据信息
        2). edits:操作日志文件
        3). fstime:保存最近一次checkpoint的时间.
      • 以上这些文件保存在linux的文件系统中,不在hdfs上。
  2. NameNode的工作特点

    • NameNode始终在内存中保存metadata,用于处理”读请求”
    • 到有”写请求”到来时,namenode会首先写editlog到磁盘,即向edits文件中写日志,成功返回后,才会修改内存,并向客户端返回
    • Hadoop会维护一个fsimage文件,也就是namenode中metadata的镜像,但是fsimage不会随时与namenode内存中的metadata一致,而是每隔一段时间通过edits文件来更新内容。Secondary namenode就是用来合并fsimage和edits文件来更新NameNode的metadata的。
  3. SecondaryNameNode介绍
    • HA的一个解决方案。但不支持热备,配置即可。
    • 执行过程:从NameNode上下载元数据信息(fsimage,edits),然后把两者合并,生成新的fsimage,在本地保存,并将其推送到NameNode,替换就的fsimage.
    • 默认在安装NameNode节点上,但这样不安全。
  4. SecondaryNameNode的工作流程
    • secondary通知namenode切换edits文件
    • secondary从namenode过的fsimage和edits(通过http)
    • secondary从fsimage载入内存,然后开始合并edits
    • secondary将新的fsimage发回给namenode
    • namenode使用新的fsimage替换旧的fsimage
  5. 什么时候checkpoint
    • fs.checkpoint.period 指定两次checkpoint的最大时间间隔,默认3600秒。
    • fscheckpoint.size 规定edits文件的最大值,一旦超过这个值就强制checkpoint,不管是否到达最大时间间隔。默认是64M.

DataNode

  • 提供真实文件数据的存储服务。
  • 文件块(block):最基本的存储单位。对于文件内容而言,一个文件的长度大小是size,那么从文件的0偏移开始,按照固定的大小,顺序对文件进行划分编号,划分好的每一块称一个Block。HDFS默认Block大小是128MB,一个256MB文件,公映后256/128=2个Block.
  • 不同于普通文件系统的是,HDFS中,如果一个文件小于一个数据块的大小,并不占用整个数据块存储空间。
  • Replication,多副本。默认是三个.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值