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

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)
相关推荐
predisw4 小时前
kafka records deletion policy
分布式·kafka
夏天吃哈密瓜4 小时前
Spark-core-RDD入门
大数据·分布式·spark
肥宅小叽5 小时前
【shardingsphere分布式主键无效】
分布式
科技小E6 小时前
国标GB28181视频平台EasyCVR安防系统部署知识:如何解决异地监控集中管理和组网问题
大数据·网络·人工智能·音视频
chat2tomorrow6 小时前
如何使用 QuickAPI 推动医院数据共享 —— 基于数据仓库场景的实践
大数据·数据仓库·人工智能·医院·sql2api
lcw_lance6 小时前
数字孪生[IOC]常用10个技术栈(总括)
大数据·运维·人工智能
星宸追风7 小时前
Git查看某个commit的改动
大数据·elasticsearch·搜索引擎
悻运8 小时前
如何在sheel中运行Spark
大数据·分布式·spark
悻运8 小时前
Spark缓存--persist方法
大数据·缓存·spark
caihuayuan58 小时前
[数据库之十四] 数据库索引之位图索引
java·大数据·spring boot·后端·课程设计