Hadoop生态组件介绍

发布时间:2026/8/7 12:59:10
Hadoop生态组件介绍 一、核心组件组件名称作用说明HDFS(Hadoop Distributed File System)分布式文件系统Hadoop 核心存储将超大文件切块默认128MB多副本存储在不同节点上保证数据高容错和高吞吐。主从架构包含 NameNode管理元数据和 DataNode存储实际数据。YARN(Yet Another Resource Negotiator)新一代资源管理框架将资源管理和任务调度/监控分离允许多个计算框架如MapReduce、Spark、Flink等同时高效运行在同一个物理集群上。主从架构包含 ResourceManager全局资源管理和 NodeManager单节点任务执行。MapReduce经典离线批处理计算框架将任务分为 Map映射/分拆 和 Reduce归约/汇总 两阶段并行处理二、文件存储格式文件格式存储模型压缩比查询性能写入性能Schema 管理生态兼容性典型场景Parquet列式存储高列裁剪、谓词下推分析查询极快中等需组织列数据内置 Schema支持复杂嵌套结构极广Spark、Hive、Impala、Presto、Flink 等均有深度优化数据分析、BI 报表、ETL 中间结果存储ORC列式存储优化极高通常优于 Parquet内置轻量级索引布隆过滤器、统计信息查询最快中等内置 Schema支持类型演化深度绑定 HiveSpark 支持良好Hive 大表分析需高效过滤和聚合的场景Avro行式存储低整行读取快但分析查询慢需读全行高顺序追加写入快Schema 动态跟踪支持演化且语言无关极广Kafka、Flume、Spark、Hive 等数据采集管道、消息队列、RPC 传输、Schema 频繁演化场景SequenceFile行式存储KV 对中等按 Key 顺序读取无随机访问高顺序写入无 Schema仅存 Key/Value 二进制Hadoop 原生支持兼容所有 MR 生态工具MapReduce 中间结果、数据合并、小文件归档TextFile行式存储纯文本无/低全表扫描无条件过滤极高直接追加无 Schema需手工解析所有工具通用原始日志、数据导入导出、可读性要求高的临时数据RCFile行列混合早期中等先按行分片片内按列存查询性能介于行式和列式之间中等需配合 Hive SerDeHive 早期生态Hive 早期格式已被 ORC/Parquet 取代三、NoSQL 数据库分类代表数据库数据模型核心功能与优势典型区别与适用场景键值存储(Key-Value)Redis简单的 Key-Value 对内存级读写支持丰富数据结构字符串、哈希、列表、集合等常用于缓存、消息队列、实时计数。最快但查询方式最单一。只能通过 Key 精准查 Value无法对 Value 的内容如某个字段做条件过滤。适合高并发低延迟的缓存、会话管理。Amazon DynamoDB托管式键值/文档数据库无缝弹性伸缩低延迟全托管免运维。Memcached纯内存缓存系统极致简单和高速但数据不持久化重启丢失。文档存储(Document)MongoDBJSON/BSON 文档灵活的 Schema支持对文档内字段建索引和丰富的查询范围、模糊、嵌套字段。查询能力远超键值库能按文档内容检索。无需像关系库那样预先定义所有列适合快速迭代、内容管理、用户资料。Couchbase融合内存缓存层与持久层高性能支持 SQL 查询和全文搜索。Elasticsearch本质是搜索引擎但可作为文档数据库用在全文检索、日志分析领域是事实标准。列族存储(Wide-Column)Apache HBase行键 列族 列限定符海量稀疏数据强一致随机读写万亿行百万列仍保持低延迟与 Hadoop 生态深度集成。为海量数据的扫描分析而生但无多表关联。数据按行键范围分区一张大表里不同行可包含完全不同的列。适合用户画像库、时间序列、日志明细。Apache Cassandra无中心节点高可用线性扩展多活数据中心支持写性能优秀无单点故障。ScyllaDBCassandra 的 C 重写版异步无锁设计极致的低延迟与高吞吐。图数据库(Graph)Neo4j节点 (Node) 边 (Relationship)原生图存储与遍历用 Cypher 图查询语言深度关联查询N 度人脉性能是关系库的千倍。专为处理复杂关系网络而生。在处理人与人、交易与交易之间的复杂拓扑关系时不像 SQL 那样做昂贵的多次 JOIN。适合图谱、风控、社交网络。JanusGraph分布式、可扩展的开源图数据库可对接 HBase/Cassandra 作为后端存储适合海量图数据。Amazon Neptune全托管图数据库支持属性图和 RDF 两种模型。四、主流 MPP 查询引擎引擎定位与特点数据模型性能优势优势场景与 Hadoop 生态关系ImpalaHadoop 原生 MPP SQL 引擎结构化依赖 Hive Metastore基于 C 的守护进程中间结果流式传递避免 MR 的落地开销交互式即席查询BI 报表紧耦合 HDFS/HBase/Kudu共享 Hive 元数据Presto / Trino联邦查询 MPP 引擎关系型连接器模式全内存并行计算纯计算引擎无存储跨数据源联合查询联表 Hive 与 MySQL可对接 Hive、HDFS、各类关系型数据库及 NoSQLDrill无模式 MPP SQL 引擎半结构化/嵌套数据优先原生支持 JSON/Parquet 等复杂嵌套结构无需提前定义 Schema探索式分析日志/JSON 文件直接查询直接读写 HDFS、HBase、S3 等ClickHouse极致单表分析 MPP 数据库列式宽表C 向量化执行极高的压缩比和单表聚合/过滤吞吐用户行为分析实时数据看板时序分析非 Hadoop 原生独立部署可通过外表或联邦查询方式读取 HDFS/Hive 数据StarRocks / Doris新一代实时分析 MPP 数据库列式预聚合模型MPP 向量化CBO 优化器多表关联性能极佳支持高并发和实时更新实时报表固定看板多维度 Cube 分析高并发 API 服务可直查 HDFS 外部表支持从 Hive 同步元数据构建湖仓一体HAWQHadoop 原生 MPP 数据库GP 变体关系型支持事务基于 PostgreSQL 内核提供 ACID 事务和标准 SQL 兼容性需要在 Hadoop 上运行复杂 ETL 且要求事务一致性的场景直接在 HDFS 上存储用 YARN 调度资源Greenplum开源 MPP 数据仓库关系型支持事务基于 PostgreSQL支持高并行复杂查询与混合负载企业数据仓库EDW复杂 ETL建模分析可接入 HDFS 外部表解耦部署五、数据采集分类工具名称核心功能与特点适用场景日志/文件采集Flume分布式、高可靠采用Source-Channel-Sink架构支持数据路由和故障转移海量日志实时聚合如服务器日志流向HDFS/KafkaFluentdC/Ruby开发用JSON统一日志格式插件机制灵活配置相对简单统一日志处理适合需要灵活插件扩展的场景LogstashELK技术栈中的L集采集、过滤、转换于一体与Elasticsearch天然集成日志采集搜索分析配合ES和Kibana使用ScribeFacebook开发高容错方案故障时日志暂存本地恢复后重传曾与Hadoop配合使用目前已较少使用Chukwa针对Hadoop集群自身的监控日志采集含Agent和Collector组件Hadoop集群运维监控日志收集已不活跃数据库同步Sqoop基于MapReduce并行传输支持关系型数据库↔Hadoop双向导入导出MySQL/Oracle等与HDFS/Hive之间的批量数据迁移DataX阿里开源支持异构数据源插件式适配多种数据库和存储系统关系型数据库、NoSQL等异构数据源间批量同步Canal阿里开源模拟MySQL Slave获取增量变更日志实时推送至Kafka/HBase等增量数据实时同步如MySQL变更即时捕获消息/流数据Kafka高吞吐分布式发布订阅持久化存储充当数据流总线实时流数据中枢接收各端数据供下游消费Pulsar新一代消息系统支持多租户、存算分离、分层存储云原生消息流平台替代Kafka的场景Storm逐条处理的原生实时流计算延迟极低适合需要毫秒级响应但状态管理较简单的场景。Flink流批一体的有状态实时计算亚秒级延迟原生支持精确一次语义和事件时间是当前实时计算的事实标准。Spark Streaming将实时数据切成微批次进行处理的准实时流计算适合与 Spark 生态深度集成的秒级延迟场景。Apex企业级原生流处理引擎基于 YARN 运行支持有状态计算和低延迟处理但社区活跃度较低。网页/爬虫Nutch基于Hadoop的分布式爬虫可扩展大规模网站抓取全网或垂直领域数据抓取Scrapy由Python编写快速轻量架构灵活易于扩展中小规模定制的网页结构化信息提取通用/商业平台NiFi数据流自动化工具。可视化拖拽界面支持实时采集、路由和转换复杂多源数据管道编排低代码管理StreamSets可视化数据管道设计器拖拽式布线实时监控数据流水线快速构建与运维Splunk商业产品集采集、存储、分析和展示于一体企业级统一数据平台IT运维、安全分析等六、数据仓库与SQL查询特性维度HiveSpark (SQL)PhoenixKylin核心定位离线数据仓库 SQL 工具通用内存计算引擎的 SQL 模块HBase 上面的 SQL 层预计算 OLAP 分析引擎查询延迟分钟级高延迟秒~分钟级中低延迟毫秒级极低延迟亚秒级极低延迟处理模式翻译为 MR/Tez/Spark 作业真正的后台批处理内存 DAG 计算中间结果在内存中SQL 编译为 HBase 协处理器代码直接执行查询时直接命中预计算 Cube 结果数据量级PB 级PB 级十亿行级别百亿行级别存储依赖HDFS / 对象存储任何 Hadoop 文件系统可查 Hive 表强依赖 HBase多源Hive、HBase、Kafka并发能力低资源竞争严重中等支持多用户共享缓存高直接继承 HBase 的并发高直接读 Cube 数据极少资源争用优势场景复杂 ETL 加工、日报/周报生成交互式探索分析、复杂 SQL 和多迭代 ML高并发毫秒级点查、轻量级聚合固定维度组合的大规模多维分析、KPI 看板短板无法做实时/近实时查询批处理模式依然存在启动开销多表关联/复杂聚合能力弱灵活性差维度组合需预先构建七、任务调度系统特性维度OozieAzkabanApache AirflowDolphinScheduler核心定位Hadoop 原生工作流引擎轻量级批量作业调度器通用型可编程工作流平台可视化分布式调度平台DAG 定义方式XML 文件编写复杂Properties 文件Key-Value 对Python 脚本代码即配置灵活强大可视化拖拽 代码片段低门槛调度触发时间周期、数据就绪触发时间周期、手动触发、依赖触发时间周期、传感器Sensor、外部触发时间周期、依赖、条件、手动触发架构特点重量级强依赖 Hadoop 生态轻量级单点执行器 Web 服务器模块化核心调度器 Celery/K8s 执行器去中心化多 Master 多 Worker任务类型专为 Hadoop 设计MR/Pig/Hive/Spark原生支持 Hadoop Jobs、Shell/Python 命令无限扩展Operator 插件支持几乎任何任务内置 Shell、SQL、Spark、Flink 等多种任务高可用需外部配合基于 ZooKeeper较薄弱Executor 单点风险支持分布式执行器、数据库后端原生去中心化多 Master 容错用户界面Web UI 较老旧操作复杂Web UI 简洁但功能少Web UI 丰富现代含甘特图、树状视图Web UI 美观流畅可视化 DAG 拖拽补数与重试支持被动/主动重试支持手动重新执行失败作业支持强大的回填和失败重试机制支持一键补数历史数据重跑适用场景早期深度绑定 Hadoop 的 ETL简单批处理作业无扩展开发需求复杂异构系统的数据工程全生命周期企业级大数据平台统一调度八、集群管理与监控工具总览分类工具名称核心功能与特点适用场景原生管理平台AmbariHadoop 生态官方管理工具提供 Web UI 进行集群安装、配置、管理和监控支持可视化的服务启停和仪表盘Apache 开源版 Hadoop 集群的统一运维管理Cloudera ManagerCloudera 发行版配套工具功能比 Ambari 更强大支持自动化部署、诊断、调优和版本升级CDH/CDP 集群的企业级管理Hortonworks SmartSenseHortonworks 的智能诊断工具采集集群日志和指标提供问题分析和优化建议原 HDP 集群的预防性维护和故障排查监控与告警Ganglia分布式集群监控系统采集 CPU、内存、网络、磁盘等系统级指标以曲线图展示实时查看集群各节点的资源负载状态Nagios老牌 IT 基础设施监控工具插件丰富支持邮件/短信告警服务可用性监控和告警通知Zabbix企业级开源监控平台采集、存储、可视化和告警一体化支持自动发现大规模服务器和网络设备的综合监控Prometheus云原生时代事实标准的监控系统基于时序数据库配合 Grafana 实现美观仪表盘现代分布式系统、K8s 环境的指标监控Grafana可视化仪表盘工具可对接 Prometheus、Zabbix、Elasticsearch 等多种数据源跨平台的统一监控数据可视化展现日志采集与分析ELK StackElasticsearch Logstash Kibana 三件套核心是集中日志收集、索引搜索和可视化分析分布式系统日志的集中式查询和故障追因Graylog开源日志管理平台类似 ELK 但一体化程度更高安装配置相对简化中小规模日志集中管理和告警安全与治理Ranger集中式安全管理框架通过 Web UI 对 HDFS、Hive、HBase 等组件设置细粒度访问策略多租户集群的统一权限管控和审计KnoxHadoop REST API 网关提供统一认证授权和 SSL 加密屏蔽集群内部细节Hadoop 集群对外的安全访问边界Kerberos网络认证协议为 Hadoop 集群提供客户端与服务端的双向身份认证集群安全模式的根基防止未授权访问Atlas元数据治理与数据血缘平台提供数据分类、血缘追踪和标签策略数据资产管理和合规审计综合管理平台Datadog商业 SaaS 监控平台全栈监控基础设施、应用、日志适合云和混合环境无专属运维团队时的开箱即用选择New Relic应用性能监控APM商业工具代码级诊断追踪慢事务业务系统性能瓶颈定位