我对于大数据的认识

今天来说一说对于大数据这个词的理解 以及初步的认识;
(以下只是本人简短学习之后的总结,如有错误欢迎指出)

我对于大数据的认知是:短时间内快速产生的大量且多种多样的有价值的信息;
在以往,数据产生速度慢,节奏慢,而现在呢社会科技发展之快是肉眼可见的,当然也有很多是我们还没真正地感受到,就已经有开始了更先进的技术发布;对于这一数据量过大的问题,有两个解决方法:
1:垂直扩展:就好比你的电脑要扩大容量是在电脑本身上添加硬盘;
2:横向扩展:是多台服务器连在一起的扩展;(这其中只需要简单廉价的服务器或者PC端就可以了)

在此处将提到谷歌的三大论文:堪称大数据的鼻祖
GFS=================》由此研发出了HDFS分布式文件系统
MapReduce ==》分布式的处理
BigData
》HBase

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
Hadoop-------hadoop官网

HDFS
yarn-------资源和任务调度
是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

MapReduce-------批处理

spark----------Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。现在形成一个高速发展应用广泛的生态系统。

spark core
sparkSQL----可以使用sql处理
sparkStreaming-----流式处理
mllib—机器学习库
graphx--------(spark已经停止维护)

主从架构
主节点:Namenode
从节点:Datanode
client
hdfs的读取机制:①存文件
②读文件
备份----------》解决安全问题

以block块的形式将大文件进行相应的存储
默认是 128M

在存储过程中文件线性切割成块(Block):偏移量 offset(byte)
block分散存储在集群节点中
单一文件block大小一致 ,文件与文件可以不一致
分割出来的block的大小需要统一,如是128M的话就每一个block都是128M
但是是两个文件的话就可以不一样,一个可以是128M ,另一个可以使64M

如:一个文件线性分割成了13.1块 但是需要的是14块

block可以设置副本,副本分散在不同的节点中
副本数不可以超过节点数量:
当你建立副本的时候就是为了备份 ,但是如果在一个节点中设置重复的备份是无用的,因为当着一个节点丢失的时候也就都丢了;

文件上传时可以设置block的大小和副本数
已经上传的文件的block的副本数可以调整,但是大小不可以改变
只支持一次写入多次读取,同一个时刻只能有一个写入者;

》》》》再举一个例子
Namenode:一个公司的老板简称NN
DataNode:员工 简称DN
client 相当于秘书
老板NN掌控全局 管理DN的信息 管理元数据 ==元数据:描述数据的数据
源数据:数据
接收秘书的请求 还要读写
与员工DN之间进行相应的通信

DN :负责干活===>存储数据
汇报自己的情况
接收秘书的安排

当老板下达一个工作指令的时候 是下达给秘书,然后秘书分配给员工

这有一个的操作:
--------------------------》
一个大的文件需要存储到服务器中
大文件的大小/128M=block块数
秘书:client将大文件切块 然后向NN汇报切了多少块 大文件的大小 文件的权限 文件的属主 文件的上传时间

切好之后 client就去找NN 申请资源 ----DN的信息
NN会返回一批负载不高的DN 给client
client开始向DN中发送block 并且做好备份
DN存放block块之后会向NN汇报情况

pipeline 管道:

如果直接将一个block塞进管道进行存储 就会形成堵塞 效率低
这时,NN会返回给client一些DN的信息 之后client会和这些DN形成一个管道,并且将block切割成一个一个ackPackage(64K)
DN会从管道中拿取相应的数据进行存储
存储成功之后DN会向NN汇报

读请求:
NN会向client发送请求说要读哪个数据,client收到请求之后,会向NN申请及诶单的信息(blockID)
NN就会发送节点信息给client
client获取到节点之后会去DN上拿取数据------采取就近原则

=========================================================================

备份机制
集群演示
两种情况:
1:集群内提交 在提交的节点上放置block
2:集群外提交 选择一个负载不高的节点进行存放

需注意:放置在与第一个备份不同的机架上的任意节点上
放置在第二个机架的不同机架上(为了安全)

猜你喜欢

转载自blog.csdn.net/sincere_love/article/details/91400217