大数据学习笔记(HDFS原理)

Hadoop简介

在这里插入图片描述

分布式存储系统HDFS(hadoop Distributed File System)
分布式存储系统
提供了高可靠性,高扩展性和高吞吐率的数据存储服务
分布式计算框架MapReduce
分布式计算框架(计算向数据移动)
具有 易于编程、高容错性和高扩展性等优点。
分布式资源管理框架YARN(Yet Another Resource Management)
负责集群资源的管理和调度 

HDFS架构

整体结构
 文件元数据MetaData,文件数据
(主)NameNode节点保存文件元数据:单节点
(从)DataNoode节点保存文件的Block数据:多节点
 DataNode与NameNode保持心跳,提交Block列表
 HdfsClient与NameNode交互元数据信息
 HdfsClient与DataNode交互文件Block数据
角色简介
NameNode(NN)

基于内存存储 :

  • 不会和磁盘发生交换
  • 只存在内存中
  • 持久化

NameNode主要功能:

  • 接受客户端的读写服务
  • 收集DataNode汇报的Block列表信息
  • NameNode保存metadata信息包括:
  • 文件owership和permissions
  • 文件大小,时间
  • (Block列表:Block偏移量)
  • Block 副本位置(由DataNode上报)
DataNode(DN)
  • 本地磁盘目录存储数据(Block),文件形式
  • 同时存储Block的元数据信息文件
  • 启动DN时会向NN汇报block信息
  • 通过向NN发送心跳保持与其联系(3秒一次),如果NN 10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN
SecondaryNameNode(SNN)
  • 它不是NN的备份(但可以做备份),它的主要工作是帮助NN合并edits log,减少NN启动时间。
    SNN执行合并时机
  • 根据配置文件设置的时间间隔fs.checkpoint.period 默认3600秒
  • 根据配置文件设置edits log大小 fs.checkpoint.size 规定edits文件的最大值默认是64MB
存储数据的流程

1.如果要上传文件,计算大文件的block数量 大文件/128M=block块数
2.client会向namenode汇报:
(1)当前大文件的block数
(2)当前大文件属于谁 权限
(3)上传时间
for(Block block:blocks(大文件切割出来的block块)){
3、client切割出来一个block
4、请求block块的id号及地址
5、因为namenode能够掌控所有的DN,所以他会将负载不高的DN地址返回给client
6、client拿到地址后,找到DN去上传数据(写数据,详情见)
7、DN将block块存储完毕后,会向NN汇报当前的情况
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值