hadoop-HDFS

大数据:
定义:短时间快速产生大量多种多样的有价值的信息
为了解决数量过大的问题有两种方法
1).垂直拓展:相当于在计算机上安装n个硬盘
2).横向拓展:相当于把几台计算机连接起来

谷歌的三大论文 :GFS MapReduce BigData
三大论文分别对应了 HDFS分布式文件系统(分布式的存储) 分布式的处理 HBase

简介Hadoop组成
包括:
0)hadoop Common
1)分布式存储系统HDFS。
2)分布式计算框架MapReduce
3)分布式资源管理框架 YARN

简述HDFS架构
HDFS是Hadoop分布式文件系统, 采用Master/Slave的架构来存储数据,这种架构主要由四个部分组成,分别为HDFS Client、NameNode、DataNode和Secondary NameNode.

3.HDFS主从架构
老板----主节点(Namenode)
员工----从节点(Datanode)
秘书----client

存文件
hdfs的读写机制
读文件

4.DataNode存储模型:
以block块的形式将大文件进行相应的存储
1.x block的大小是用64M
2.x以后block的大小一般是用128M,对于同一个文件,block大小必须一致,不同文件可以不一致。
文件线性切割成块(Block):偏移量offset(byte)
Block分散存储在集群节点中
block的副本数默认为3, 副本数不要超过节点的数量
文件上传可以设置Block大小和副本数
已上传的文件Block副本数可以调整,Block大小不变
只支持一次写入多次读取,同一时刻写入者

5.介绍NameNode ,DataNode
HDFS集群有两类节点以管理节点-工作节点模式运行,即一个namenode(管理节点)和多个datanode(工作节点)。namenode管理文件系统的命名空间。他维护着文件系统树及整棵树内所有的文件和目录。这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件和编辑日志文件。namenode也记录着每个文件中各个块所在的数据节点信息,但他并不永久保存快的位置信息,因为这些信息会在系统启动时根据数据节点信息重建。
NameNode 老板
1).掌控全局,管理DataNode的信息 ,管理元数据
元数据:描述数据的数据
2)接受秘书client的请求:读写
3)与DataNode之间进行相应的通信

 DataNode  员工
 1)干活的---存储数据
 2)汇报自己的情况
 3)接受client的一个安排

6.秘书client的写操作
1)有一个大文件
2)client会将大文件进行切割
大文件的大小/128M=block块数
3)切割完向NameNode汇报
块数
文件的大小
文件的权限
文件的属主
文件的上传时间
for(Block block blocks){
4)文件上传 HDFS 的时候,Client 将文件切分成 一个一个的Block,client切下一块块128M的block
5)client会向NameNode去申请资源 ------DataNode的信息
6) NameNode会返回一批负载不高的 DataNode给client
7)client会向DataNode里面发送block并且做好备份
8)DataNode存放block后会向NameNode汇报情况
}
在这里插入图片描述

client的读请求

在这里插入图片描述
1)NameNode会向client发送一个请求,client接受到请求以后,会向NameNode申请节点信息(blockid)
2)NameNode会向client发送一些节点信息
3)client获取到节点信息之后去DateNode上拿取数据-----就近原则

备份机制

1.集群内提交:就近的在提交的节点上放置block
集群外提交:选择一个负载不高的节点进行存放 在这里插入图片描述

2.备份的东西还需要放置在与第一个备份不同机架的任意节点上

3.还需放在第二个机架的不同节点上

第一个副本:放置在上传文件的DN;如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点。

第二个副本:放置在于第一个副本不同的 机架的节点上。

第三个副本:与第二个副本相同机架的节点。

更多副本:随机节点

pipeline管道
1)NameNode在返回给client一些DataNode的信息之后
2)client会和这些DataNode形成一个管道,并且将block切割成一个个ackPackage(64k)
3)DataNode会从管道中拿取相对应的数据进行存储
4)当存储完成之后,DataNode会向NameNode进行汇报

优点
高容错性:数据自动保存多个副本,副本丢失后自动恢复;
适合批处理:移动计算而非数据。数据位置暴露给计算框架(Block偏移量);
适合大数据处理;
可搭建在廉价的机器上;

缺点
不适合低延迟数据访问;
无法高效存储大量的小文件;
不支持多用户写入及任意修改文件;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值