【知识积累】大数据旅程-HDFS之NameNode、DataNode

1、NameNode(NN)

  • 基于内存存储:不会和磁盘发生交换

       只存在内存中
       持久化

  • NameNode主要功能

       接受客户端的读写服务
       收集DataName汇报的Block列表信息

  • NameNode保存metadata信息包括

       文件ownership和permissions
       文件大小、时间
    (Block列表:Block偏移量),位置信息(这个Block存在哪个DataNode)
       Block每副本位置(由DataNode上报)

  • 持久化方案:

       快照
       开机把内存写到磁盘,宕机后再次开机写回内存,会产生大量IO
       日志
       将用户的操作写入日志,恢复后,再次执行用户操作

  • 位置信息:

        快照和日志都不会保存位置信息,位置信息是在开机一段时间后,由DataNode通过心跳方式来汇报。因为可能DataNode未启动,无法提供数据,然后NameNode又保存了原来的位置信息,这样就会造成数据不一致,保证正确性。

  • 恢复时间:

       NameNode宕机,启动时恢复时间大概是半个小时左右,根据集群大小、汇报心跳速度时间延长。

  • NameNode持久化

       NameNode的metadata信息在启动后加载到内存
       metadata存储到磁盘文件为fsimage
       Block的位置信息不会保存到fsimage
       edits记录对metadata的操作日志

2、DataNode(DN)

  • 本地磁盘目录存储数据(Block),文件形式
  • 同时存储Block的元数据信息文件(MD5值)
  • 启动DN时会向NN汇报block信息
  • 通过向NN发送心跳保持与其联系(3秒一次,如果NN10分钟没有收到DN的心跳,这认为其已经lost,并copy其上的block到其他DN)

3、数据完整性:

       当一个block到DN,会将block算出一个md5值,存在元数据信息文件中,当client取回block后,会算一次md5值,此时比较两个值,来确定block是否被破坏。

4、HDFS优点:

  • 高容错性

       数据自动保存多个副本
       副本丢失后,自动恢复

  • 适合批处理

       移动计算而非数据
       数据位置暴露给计算框架(Block偏移量)

  • 适合大数据处理

       GB、TB、甚至PB级数据
       百万规模以上的文件数量
       10K+ 节点

  • 可构建在廉价机制上

       通过多副本提高可靠性
       提供了容错和恢复机制

5、HDFS缺点:

  • 低延迟数据访问

        比如毫秒级
        低延迟与高吞吐率

  • 小文件存取

       占用NameNode大量存储
       寻道时间超过读取时间

  • 并发写入、文件随机修改

       一个文件只能有一个写者
       仅支持append

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值