当前位置: 首页 > 产品大全 > 大数据系统基础学习笔记(一) 基础软件服务

大数据系统基础学习笔记(一) 基础软件服务

大数据系统基础学习笔记(一) 基础软件服务

大数据系统的构建与高效运行,离不开一系列成熟、稳定且相互协作的基础软件服务。它们是整个数据架构的基石,负责资源的调度、数据的存储、计算任务的执行以及系统的协调与管理。本篇笔记将概述大数据生态中最为核心的几类基础软件服务。

1. 分布式文件系统:海量数据的存储基石

大数据处理的第一个挑战是如何可靠、高效地存储PB乃至EB级别的海量数据。传统的单机文件系统无法满足这一需求,因此,分布式文件系统应运而生。

  • 核心代表:Hadoop Distributed File System (HDFS)
  • 设计思想:将大文件分割成多个数据块(Block,默认128MB),并将这些块分散存储在一个集群的多个普通商用服务器上。通过多副本机制(默认3副本)来保证数据的可靠性与高可用性。
  • 核心组件
  • NameNode:主节点,负责管理文件系统的命名空间(如目录树、文件元数据)以及数据块到DataNode的映射。它是系统的“大脑”。
  • DataNode:从节点,负责存储实际的数据块,并定期向NameNode报告其状态。
  • 特点:提供高吞吐量的数据访问,适合一次写入、多次读取的场景,为后续的批处理计算奠定了存储基础。

2. 资源管理与调度系统:集群的“操作系统”

当多个计算框架(如MapReduce、Spark)需要共享同一个庞大的硬件集群时,需要一个“操作系统”来统一管理和分配集群的计算资源(CPU、内存等),这就是资源管理与调度系统

  • 核心代表:Apache YARN (Yet Another Resource Negotiator)
  • 角色:YARN将Hadoop 1.0中JobTracker的资源管理和作业调度/监控功能分离开来,成为一个通用的集群资源管理层。
  • 核心组件
  • ResourceManager (RM):全局主节点,负责整个集群的资源管理和分配。
  • NodeManager (NM):每个节点上的代理,负责管理单个节点上的资源(启动容器)并报告给RM。
  • ApplicationMaster (AM):每个应用程序特有的“管家”,由RM启动,负责向RM申请资源,并与NM协作来执行和监控具体的计算任务。
  • 意义:YARN使得Hadoop从单一的计算模式(MapReduce)演变为一个多租户、多应用的数据操作系统,可以同时运行批处理、交互式查询、流处理等多种计算框架。

3. 分布式计算框架:数据价值的挖掘引擎

存储和资源管理之上,是直接对数据进行处理分析的计算框架。根据数据处理时效性的不同,主要分为批处理和流处理两大类。

  • 批处理框架:处理静态的、已经存在的大量数据,追求高吞吐量。
  • Apache Hadoop MapReduce:经典模型,将计算过程分为Map(映射)和Reduce(归约)两个阶段,编程模型简单,但中间结果需落盘,I/O开销较大。
  • Apache Spark:新一代内存计算框架。通过引入弹性分布式数据集(RDD)及其上的丰富算子(Transformations和Actions),将中间结果尽可能保存在内存中,极大地提升了迭代计算和交互式查询的性能。它兼容YARN,并提供了Spark SQL、Spark Streaming等高级模块。
  • 流处理框架:处理连续不断产生的实时数据流,追求低延迟。
  • Apache Storm:早期的流处理框架,强调消息处理的“至少一次”语义和低延迟。
  • Apache Flink:真正意义上的流处理优先框架,将批处理视为有界流。它提供了精确一次(Exactly-once)的状态一致性保证,并在流处理性能上表现优异。
  • Apache Spark Streaming:基于Spark的微批处理(Micro-batch)模型,将流数据切成小批次进行处理,易于与批处理代码集成。

4. 协调与治理服务:系统的“神经中枢”

在分布式环境中,各个服务节点需要协同工作,进行配置管理、命名服务、集群同步和领导选举等,这需要分布式协调服务

  • 核心代表:Apache ZooKeeper
  • 角色:一个分布式的、开放源码的协调服务,用于维护配置信息、命名、提供分布式同步和提供组服务。
  • 数据模型:采用类似文件系统的树形层次结构(ZNode),可以存储少量数据。
  • 核心特性:通过Zab协议保证顺序一致性原子性广播,为客户端提供可靠的分布式锁、领导者选举、配置管理等功能。HDFS的NameNode高可用、YARN的ResourceManager高可用、Kafka的Broker协调等都依赖于ZooKeeper。

###

大数据基础软件服务构成了一个层次化的生态体系:

  1. HDFS 提供海量、可靠的底层存储。
  2. YARN 对集群的物理资源进行统一管理和调度。
  3. MapReduce、Spark、Flink 等计算框架利用YARN分配的资源,对HDFS或其它数据源中的数据进行处理。
  4. ZooKeeper 作为“粘合剂”,为上述所有分布式组件提供关键的协调与一致性服务。

理解这些基础服务的定位、原理与相互关系,是深入学习大数据技术、构建和优化大数据平台的必经之路。后续笔记将深入探讨这些组件的原理、架构与编程实践。

如若转载,请注明出处:http://www.chengzheneshenghuo.com/product/18.html

更新时间:2026-04-08 17:55:30

产品列表

PRODUCT