Flume 核心组件系统性梳理 1. Flume 产生背景在大数据场景中,业务系统每天产生海量日志(Nginx 访问日志、应用日志、埋点日志等),这些日志分散在各个服务器上,需要实时或准实时地收集到 HDFS、Kafka 等存储系统中。Flume 就是专门解决这一问题的日志收集系统。 采集 vs 收集的区别: 采集:从数据源获取数据(Flume 做的事) 收集:汇聚多路数据到统一存储(也是 Flume 的能力) 2. Flu 2024-01-07 大数据 #Flume #日志采集
Hive 核心组件系统性梳理 1. Hive 产生背景MapReduce 编程门槛高,数据分析师不会 Java,但熟悉 SQL。Hive 应运而生,将 SQL 翻译为 MapReduce 作业,让分析师用 SQL 就能处理 HDFS 上的海量数据。 2. Hive 是什么Hive 是基于 Hadoop 的数据仓库工具,核心功能: 将结构化数据文件映射为数据库表 提供 HQL(Hive Query Language,类 SQL 2024-01-06 大数据 #Hive #数据仓库
ZooKeeper 核心组件系统性梳理 1. ZooKeeper 是什么ZooKeeper 是 Apache 开源的分布式协调服务,为分布式应用提供一致性服务,包括:配置管理、命名服务、分布式锁、集群选主等。它基于 ZAB(ZooKeeper Atomic Broadcast)协议保证数据一致性。 2. 企业使用场景 Hadoop HA:NameNode/ResourceManager 主备切换,依赖 ZK 选主 HBase: 2024-01-05 大数据 #ZooKeeper #分布式协调
YARN 核心组件系统性梳理 1. YARN 产生背景Hadoop 1.x 中,JobTracker 同时承担资源管理和作业调度两大职责,存在严重问题: 单点瓶颈:所有作业都由 JobTracker 管理,集群规模受限 资源利用率低:资源以 slot(Map slot / Reduce slot)为单位静态划分,无法跨类型共享 不支持多计算框架:只能运行 MapReduce,无法运行 Spark 等其他框架 YA 2024-01-04 大数据 #YARN #资源调度
MapReduce 核心组件系统性梳理 1. MapReduce 是什么MapReduce 是 Hadoop 的分布式计算框架,将复杂的并行计算抽象为两个阶段:Map(映射) 和 Reduce(归约)。开发者只需实现这两个函数的业务逻辑,框架自动处理任务分发、容错、数据传输等底层细节。 2. 核心思想分而治之:将大数据集切分为若干小数据集,分配给多个 Map 任务并行处理,再将中间结果汇总给 Reduce 任务合并计算。 1234567 2024-01-03 大数据 #MapReduce #分布式计算
HDFS 核心组件系统性梳理 1. HDFS 是什么HDFS(Hadoop Distributed File System)是 Hadoop 的分布式文件系统,设计目标是在普通商用硬件集群上可靠地存储超大文件。它采用主从架构,将文件切分为固定大小的 Block 分散存储在多个 DataNode 上。 2. 设计假设与目标 硬件故障是常态,而非异常 → 系统需具备自动容错能力 流式数据访问(高吞吐优先,非低延迟) 支持超大文件( 2024-01-02 大数据 #HDFS #分布式存储
Hadoop 核心组件系统性梳理 1. Hadoop 是什么Hadoop 是 Apache 开源的分布式计算基础框架,专为海量数据的存储与计算而生。它的核心思想来源于 Google 的三篇论文(GFS、MapReduce、BigTable),解决了单机无法处理大规模数据的根本问题。 2. 三大核心组件 组件 职责 HDFS 分布式文件系统,负责海量数据的持久化存储 MapReduce 分布式计算框架,负责海量数据的并 2024-01-01 大数据 #Hadoop #大数据基础