大数据4V:
-
Volume(大量)
-
Velocity(高速)
-
Variety(多样)
-
Value(低价值密度)
Hadoop相关
-
分布式系统基础架构
-
海量数据的存储和海量数据的分析计算
-
Hadoop生态圈(Hadoop的广义定义)
Hadoop三大发行版本
-
Apache:2006 年,最基础 / 最原始
-
Cloudera:2008年,CDH平台
-
Hortonworks:2011,HDP / CDP
Hadoop的优势:
- 高可靠性
- 高扩展性
- 高效性
- 高容错性
Hadoop3.x的组成架构:
HDFS架构
Hadoop Distributed File System(分布式文件系统)
NameNode:负责整个数据的存储情况的记录。存储文件的元数据,如文件名,文件目录结构,文件属性以及每一个文件的块列表和块所在的DataNode等。
DataNode:负责具体的存储数据。在本地文件系统存储文件块数据,以及块数据的校验和。
SecondaryNameNode(2NN):辅助NameNode存储数据。每个一段时间对NameNode元数据备份。
YARN架构
Yet Another Resource Negotiator(另一种资源协调者)
ResourceManager:整个集群资源的老大
NodeManager:单个节点服务器资源的老大
ApplicationMaster:单个任务运行的老大
Container:容器,相当于一台独立的服务器,里面封装了任务运行所需要的资源,如内存、CPU。网络等等。
注意:
- 客户端(Client:向RM提交任务)可以有多个
- 集群上可以运行多个ApplicationMaster
- 每个NodeManager上可以有多个Container
MapReduce架构
- Map阶段:并行处理输入数据
- Reduce阶段:对Map结果进行汇总
大数据技术生态体系
HDFS(分布式文件系统)
一种系统管理多个机器上的文件
HDFS只是分布式文件管理系统中的一种
适合一次写入,多次读出的场景
HDFS优点:
- 高容错性:
- 数据自动保存多个副本,通过增加副本的形式提高容错性;
- 某一个副本丢失后,可以自动恢复;
- 适合处理大数据:
- 数据规模:能够处理数据规模达到GB、TB,甚至是PB级别的数据;
- 文件规模:能够处理百万规模以上的文件数量,数量相当之大;
- 可构建在廉价的机器上,通过多副本机制提高可靠性;
HDFS缺点:
- 不适合低延时数据访问
- 无法高效地对大量小文件进行存储
- 不支持并发写入、文件随机修改(仅支持数据append,即追加)
HDFS组成架构:
-
NameNode:即Master,一个主管、管理者
- 管理HDFS的名称空间
- 配置副本策略
- 管理数据块(Block)映射信息
- 处理客户端读写请求
-
DataNode:即Slave,NameNode下达命令而DataNode执行实际的操作
- 存储实际的数据块
- 执行数据块的读/写操作
-
Client:客户端
- 文件切分
- 与NameNode交互,获取文件的位置信息
- 与DataNode交互,读取或者写入数据
- 提供一些命令来管理HDFS
- 通过一些命令来访问HDFS
-
Secondary NameNode:
- 辅助NameNode,分担其工作量
- 在紧急情况下可辅助恢复NameNode