大数据学习之路--HDFS

版权声明: https://blog.csdn.net/power_k/article/details/91397660

定义:
根据个人理解,大数据是短时间产生大量的多种多样的有价值的信息
特点
Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)
大数据概述
为了解决数据量过大的问题,
硬件支持
1)垂直扩展 举个栗子:一个电脑储存满了,可加硬盘,但是只能加到最大限度。还不够怎么办。
2)水平扩展 水平扩展就来了,多来这样的几台不就OK了。
简单廉价的服务器或者pc端就可以
网络 2g-3g-4g-5g…
软件支持
1.数据库容量的变化
a. Access 几万到几十万数据
b. SqlServer 一般可以处理百万到千万数据
c. MySql 可以处理千万甚至上亿数据,但数据量2000万以上性能下降明显
d. Oracle 结构化数据库的巅峰,可以处理上亿数据
2.根据谷歌三大论文
GFS研发出----------->HDFS分布式文件系统(分布式存储)
MapReduce--------->MapReduce分布式的处理
BigDate ------------->HBase
由于越来越满足不了需求,出现了Hadoop。http://hadoop.apache.org/ -----------hadoop官网
hadoop模块
Hadoop Common 支持其他hadoop模块的常用使用程序
hadoop分布式文件系统(HDFS)可提供对应程序数据的高吞吐量的访问
hadoop YARN 作业调度和集群资源管理的框架
hadoop MapReduce 基于YARN的系统,用于并行处理大型数据集。 (批处理)
相关项目包括:
Spark :用于hadoop数据的快速通用计算引擎。
模块: spark core
sparkSQL --可以使用sql处理
sparkStreaming – 流失处理
mllib —机器学习库
3. 实现hadoop需要的技术支持
a. kafka
Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
b. zookeeper
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户
ZooKeeper提供了
1)文件系统
2)通知机制
c. flume
d. hive ----大型数据库
e. flink
f . storm
g. hbase
4.hdfs架构
主从架构
主节点 Namenode (老板)
NameNode:元数据节点。该节点用来管理文件系统中的命名空间,是master。其将所有的为了见和文件夹的元数据保存在一个文件系统树中,这些信息在硬盘上保存为了:命名空间镜像(namespace image)以及修改日志(edit log),后面还会讲到。此外,NameNode还保存了一个文件包括哪些数据块,分布在哪些数据节点上。然而,这些信息不存放在硬盘上,而是在系统启动的时候从数据节点收集而成的。
从节点 Datanode (员工)
DataNode:数据节点。是HDFS真正存储数据的地方。客户端(client)和元数据节点(NameNode)可以向数据节点请求写入或者读出数据块。此外,DataNode需要周期性的向元数据节点回报其存储的数据块信息。
Client (秘书)
存文件、读文件 ---------hdfs的读写机制
备份 ---------为了解决安全问题
5.文件传输
以block块的形式将文件进行相应的存储
文件线性切割成块 (block) 偏移量offset (byte)
block分散存储在集群节点中
单一文件block大小一致,文件与文件可以不一致
block可以设置副本数,副本分散在不同节点中
副本数不要超过节点数量
文件上传的文件block副本数可以调整,大小不变
只支持一次写入多次读取 同一时刻只有一个写入者
6.读写操作
读操作在这里插入图片描述
写操作 在这里插入图片描述
7.备份机制
a.集群内提交 在提交的节点上放置block
集群外提交 选择一个负载不高的节点进行存放
b.放置在与第一个备份不同机架的任意节点上
c. 放置在第二个机架的不同节点上
8.安全问题
pipeline管道
a. namedata在返回给client一些dataname的信息之后
b. clent会和dataname形成一个管道并且将block切割成一个个ackPakeage(64k)
c. dataname会从管道中拿取相应的数据进行存储
d. 当存储完成后,dataname会向namedata进行汇报
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/power_k/article/details/91397660