常见分布式框架
学习记录
author:slightwjq
2023年3月10日
Hadoop生态
Hadoop概述
Hadoop底层基于Java实现,核心组件是HDFS(存储)、YARN(资源任务调度)、MapReduce(数据计算)。
HDFS
在数据存储中,HDFS是Hadoop分布式文件系统,HDFS会统一管理多台机器的存储空间,提供统一的访问接口,让多台计算机的存储空间合一,延迟较高,更注重大数据量的吞吐速度,文件的设计是write-one-read-many访问模型,一次写入多次读取,无法任意频繁修改。
HDFS特性:主从架构、分块存储、副本机制、元数据记录、抽象统一的目录树结构。
主从架构:Namenode是主节点,Datanode是从节点,共同协调分布式存储。
分块存储:物理上分块存储,默认大小128M。
副本机制:所有block都有副本,默认值是3(1是本身+2是副本)。
元数据管理:元数据类型有文件自身属性信息和文件块位置映射信息。
namespace:给用户提供统一的抽象目录树。
数据块存储:具体存储管理由DataNode节点承担。
MapReduce
在数据计算中,为解决并行的复杂性,引入了MapReduce,提供了任务并行框架,通过其API抽象,让并行程序分为Map阶段和Reduce阶段。其思想核心是先分再合,分而治之。
主要计算静态数据集,无法进行数据动态计算。
特点:高容错性、适合海量数据的离线处理。
局限性:实时计算性能差、不能进行流式计算。
YARN
YARN是一个通用的资源管理系统和调度平台,管理着集群的CPU、内存。
YARN三大组件:
ResourceManager(RM):资源分配的最终权限。
NodeManager(NM):复杂管理本机器上的计算资源。
ApplicationMaster(AM):在应用层面,复杂程序内部各阶段的资源申请。
Hive
数据仓库:用于存储、分析、报告的数据系统。
HIV是在Hadoop上进行结构化处理的解决方案,可以让用户通过写SQL来处理数据。其核心模块是Metastore,用于存储结构化信息。其核心是将HQL(Hive中的SQL)转换为MapReduce程序,然后提交到Hadoop集群执行。
Spark
Spark是一种基于内存的计算框架,MapReduce是基于磁盘的计算框架,因此Spark更快,在Spark生态中也有类似HIV的SQL模块。
总结来源于B站视频。
- 本文作者: 魏静崎
- 本文链接: https://slightwjq.github.io/2023/10/17/Hadoop生态/
- 版权声明: 该文章来源及最终解释权归作者所有