一,大数据特点
数据量大
数据种类多
结构化数据
表
半结构化数据
xml
json
非结构数据
文本数据
数据低价值密度
分析用户的消费习惯
用户注册基本信息 姓名,性别,年龄 1个
用户的购买信息 订单数据 手机,2023-10-22 100个
用户浏览信息 浏览哪些商品 100个
用户访问信息 访问网站时间,地点,设备 100000条
1000201条数 有价值的数据200条
增长速度快
每天都会产生大量数据
数据结果质量高
对海量数据结果更接近真实情况
二、大数据软件生态
存储:Apache Hadoop HDFS、Apache HBase、Apache Kudu、云平台
计算:Apache Hadoop MapReduce、Apache Spark、Apache Flink
传输:Apache Kafka、Apache Pulsar、Apache Flume、Apache Sqoop
三、Apache Hadoop概述
Hadoop的功能组件
HDFS分布式文件存储系统: 负责海量数据的存储工作
MapReduce分布式计算框架: 负责海量数据的计算工作
Yarn分布式资源调度工具: 负责分布式集群的资源调度工作
Hadoop发展
创始人: 道格·卡丁
Hadoop发行时间: 2008年
hadoop的发展受谷歌的三篇论文影响, 后被称为大数据发展的三驾马车
Hadoop版本
社区版: 开源免费
优点: 更新速度快,技术新
缺点: 兼容性差不稳定
商业版: CDH 将所有大数据相关组件都重写了一遍并进行了精细测试解决了兼容性问题和稳定性问题
优点: 兼容稳定性好
缺点: 技术旧,收费
注意: 在企业级开发中我们使用的大多是商业版hadoop, CDH版本Hadoop在6.2.4版本之前是不收费的.
四、为什么需要分布式存储
数据体量过大,存储在同一台服务器上空间不足,所以需要对于服务器进行扩展,多台服务共同存储超大文件
存储原理就是将大文件进行分割,分割后,将数据存储在不同的服务器内部
此时不仅可以提供多台服务器的存储空间,同时可以增加服务器的rw效率,cpu,内存,网络带宽
五,分布式的基础架构分析
主从架构(中心化)
主角色 master:发号施令,负责任务的接受和分配
从角色 slave:负责干活
主备架构:可以解决中心化存在的问题
主角色 active:正常工作
被角色 stanbdy:观察主角色工作,并实施备份主角色数据,当主角色宕机后,立即上位代替
去中心化模式:例如区块链
hadoop
的HDFS集群和Yarn集群都是主从模式
六,HDFs的基础架构
hdfs的角色分配:
NameNode
:是集群中的主角色或主节点,负责DataNode的管理工作
DataNode
:是集群中的从角色或者从节点,负责数据文件的r和w
SecondaryNameNode
:是集群中的辅助角色或辅助节点,负责帮助NameNode完成管理工作(来负责元数据的合并工作)
NN
在开发中只有一个主服务,容易出现单点故障,在主从架构中,一旦主服务不可用,整个服务将不可用可以使用
主备方式
来解决单点故障运行多个
NN
但是对外处理请求只有一个,一般公司会选择一主一备方案
一个典型的HDFS集群中会有多个DataNode,但是活跃的NameNode只能有一个,如果集群资源不足,则需要扩展DataNode节点数量.如果原数据管理能力不足,则需要给namenode提升服务器性能.
HDFS是一个标准的主从架构
注意: 通常情况下, NameNode的服务器性能要比DataNode高,(cpu和内存大)
注: NN 表示NameNode
DN 表示DataNode
SNN 表示SecondaryNameNode