【Hadoop入门】Hadoop生态圈概述:核心组件与应用场景概述

发布于:2025-04-08 ⋅ 阅读:(38) ⋅ 点赞:(0)

1 Hadoop生态圈概述

Hadoop生态圈是以 HDFS(分布式存储) 和 YARN(资源调度) 为核心,围绕大数据存储、计算、管理、分析等需求发展出的一系列开源工具集合。
核心特点
  • 模块化:各组件专注解决特定问题(如HBase负责实时查询,Spark负责高速计算)
  • 可扩展:支持多种计算框架(MapReduce/Spark/Flink)和存储系统(HDFS/HBase)
  • 高容错:自动处理节点故障,保证数据可靠性

2 Hadoop生态核心组件

2.1 存储层

组件

定位

关键特性

适用场景

HDFS

分布式文件系统

高吞吐、顺序读写、数据分块(默认128MB)

离线批处理(日志存储)

HBase

分布式NoSQL数据库

低延迟随机读写、强一致性

实时查询(用户画像)

Kudu

列式存储引擎

兼顾实时更新与分析查询

时序数据(IoT传感器)

2.2 计算层

组件

计算模型

优势

典型案例

MapReduce

批处理

高容错、适合超大规模数据

ETL数据清洗

Spark

内存计算

DAG执行、比MR快10-100倍

机器学习(MLlib)

Flink

流计算

低延迟(毫秒级)、精确一次语义

实时风控

Tez

DAG优化引擎

减少中间数据落盘,提升Hive性能

交互式查询

2.3 资源管理层

  • YARN:统一资源调度系统,可同时运行MR/Spark/Flink等计算框架
  • ZooKeeper:分布式协调服务,保障集群一致性(如HBase依赖ZK)

2.4 数据仓库与SQL

组件

特点

查询引擎

Hive

将SQL转为MapReduce/Tez/Spark作业

批处理(分钟级延迟)

Impala

内存计算,免MR启动开销

交互式查询(秒级)

Presto

多数据源联邦查询(HDFS/MySQL等)

即席分析

2.5 数据采集与传输

  • Flume:高可靠日志收集(如服务器日志 → HDFS)
  • Kafka:分布式消息队列(实时数据缓冲)
  • Sqoop:关系数据库 ↔ HDFS双向数据传输

2.6 机器学习与高级分析

  • Mahout:基于MapReduce的机器学习库
  • Spark MLlib:支持分类、回归、推荐等算法
  • H2O:深度学习集成

3 Hadoop生态技术选型指南

需求

推荐组件

原因

海量日志存储

HDFS + Parquet

高压缩比,列式存储优化查询

实时用户行为分析

Kafka + Flink

低延迟流处理

交互式报表

Hive on Spark + Superset

平衡速度与成本

高并发点查询

HBase

毫秒级响应

4 Hadoop生态发展趋势

云原生转型:
  • 存储计算分离(HDFS → S3/OBS)
  • 容器化部署(YARN → Kubernetes)
实时化演进:
  • 批流统一(Spark Structured Streaming/Flink)
AI融合:
  • 大数据+机器学习Pipeline(TensorFlow on YARN)