hadoop及大数据技术生态体系介绍

一、什么是hadoop

Hadoop是由Apache基金会所开发的分布式系统基础架构,旨在解决海量数据存储和计算分析问题。狭义上来说,Hadoop是指Apache Hadoop开源框架,包含以下三种核心组件:

  • Hadoop HDFS(Hadoop Distributed File System):分布式文件存储系统,解决海量数据存储问题。
  • Hadoop Yarn:集群资源管理和任务调度框架,解决资源任务调度问题。
  • Hadoop MapReduce:分布式计算框架,解决海量数据计算问题。

广义上来说,Hadoop通常是指围绕Hadoop打造的大数据生态圈

Hadoop官网:hadoop.apache.org

二、hadoop优势特点

  • 低成本

Hadoop可以由多台廉价普通机器组成,支持TB和PB级别数据存储,并不需要运行在昂贵且高可靠性的硬件上。

  • 高可靠、容错性

HDFS中数据存储有多副本支持数据高可靠性,即使一些副本出现故障也能保障数据可使用。MapReduce计算过程中任务失败,可以自动进行任务重新分配进行任务重试。此外,HDFS和Yarn都支持高可用配置,当主节点挂掉时,可以自动选主切换,保证集群可靠性。

  • 高扩展性

Hadoop集群可以扩展到上千个节点以支持数据存储和计算,节点多支持数据量大、支持更大并行度的并行计算。

  • 高效性

Hadoop可以并行在节点之间动态移动数据,保证各个节点数据动态平衡;基于MapReduce进行数据处理计算时,可以并行处理数据,效率极高。

三、大数据技术生态体系

3.1 数据采集技术框架

3.1.1 日志采集框架

Flume、Logstash和FileBeat常用于日志数据实时监控采集;

  • Filebeat 像轻量快递员——只负责把日志文件原样搬走,资源占用极低;

  • Logstash 像全能加工厂——搬的同时还能解析、过滤、转换、富化,但吃内存;

  • Flume 像可靠物流线——天生对接 Hadoop/Kafka,分布式、容错、吞吐高,但配置复杂。

维度FilebeatLogstashFlume
资源占用10 MB 级,CPU 低JVM 级,>100 MBJVM 级,中等
部署形态单进程、二进制即启单机/集群,需 JVM分布式 Agent
数据处理能力几乎无,可加轻量 script强大(Grok、Date、Mutate 等 200+ filter)有限(拦截器+正则)
输出生态ES、Kafka、Redis、Logstash…几乎万能(ES、DB、MQ、HTTP…)HDFS、Kafka、HBase、Hive…
容错机制本地磁盘队列,ACK 重传持久化队列、死信队列基于 Channel 的事务、本地磁盘
典型场景边缘节点、容器、主机中心汇聚、ETL、富化离线/实时入湖、Kafka 总线

如何决策?

3.1.2 关系型数据库离线数据采集

Sqoop和Datax常用于关系型数据库离线数据采集;

  • Hadoop 生态内部大批量同步 ---用 Sqoop

  • 跨多种异构源、需要插件化扩展或运维简单 ---用 DataX

维度SqoopDataX
运行引擎MapReduce(分布式,启动慢)单机多线程(轻量,启动快)
吞吐性能高(并行 Map),测试场景 ≈ 20 MB/s中低(单机 CPU 瓶颈),测试场景 ≈ 5 MB/s
支持源/目标仅限 RDBMS ↔ Hadoop 生态(HDFS/Hive/HBase)任意 ↔ 任意:RDBMS、NoSQL、Hive、HBase、OSS、ES 等
增量同步仅支持基于数值/时间列的 简单增量支持 增量字段、时间戳、CDC 插件
扩展性官方插件固定,二次开发成本高插件化框架,自定义 Reader/Writer 简单
运维难度依赖 YARN、MapReduce 调优单机即可运行,配置 JSON 即生效
社区状态Apache 项目,已停止更新阿里开源,社区活跃,持续迭代

3.1.3 关系型数据库实时数据采集

Cannal、Maxwell、flink cdc常用于关系型数据库实时数据采集。

  • 轻量、快速、仅 MySQL ---Maxwell

  • 功能全、阿里系、MySQL 专用 ---Canal

  • 实时数仓、多源、Exactly-Once ---Flink CDC

维度CanalMaxwellFlink CDC
支持数据库MySQL/MariaDB(及阿里云 RDS)仅 MySQLMySQL、PG、Oracle、Mongo、SQLServer…
运行模式独立 Server+Client,需部署单进程(伪装 Slave)Flink TaskManager 任务
数据格式可自定义(protobuf/JSON)仅 JSONFlink RowData(可转 JSON/Avro)
历史数据不支持,需额外脚本支持 bootstrap 拉全量全增量一体化,自动切换
语义保证At-Least-Once(可能重复)At-Least-OnceExactly-Once
输出生态Kafka/RocketMQ + 自写 ClientKafka/Redis/stdout所有 Flink Connector(Kafka、Hudi、Iceberg…)
资源占用中等(JVM)极低(单进程)高(依赖 Flink 集群)
运维复杂度需管 HA、ZK、Client极低需 Flink 运维经验
适用场景阿里系、MySQL 生态、已有 Canal 基础设施快速 PoC、小团队、轻量同步实时数仓、入湖入仓、流式 ETL

2.2 数据计算技术框架

  • MapReduce:Hadoop 原生批处理,稳定但慢;仅用于离线跑批或教学。

  • Tez:Hive 默认执行引擎,DAG 优化替代 MapReduce,中等规模离线 SQL 提速 5-10 倍。

  • Spark:内存计算 + 通用批/流/ML 一体化,迭代类任务首选;资源消耗高。

  • Flink:真正流优先,毫秒级延迟 + Exactly-Once,实时数仓、风控、CEP 场景不二之选。

3.3 数据分析技术框架

3.3.1 离线分析

Hive、Impala和Kylin属于典型的离线OLAP数据分析引擎,主要应用在离线数据分析领域。

  • Hive的执行效率一般,但是稳定性极高;
  • Impala基于内存可以提供优秀的执行效率,但是稳定性一般;
  • Kylin通过预计算可以提供PB级别数据毫秒级响应。
维度HiveImpalaKylin
执行方式MapReduce/Tez/Spark(批处理)内存 MPP(并行计算)预计算 Cube(MapReduce/Spark)
查询延迟分钟-小时级秒级秒级
并发能力中-高极高(> 1000 QPS)
数据量PB 级PB 级TB-PB 级(需预聚合)
SQL 支持完整 HiveQLHiveQL 子集(无 UDF)标准 SQL(维度/度量固定)

3.3.2 实时分析

Druid、ClickHouse、Doris 都是当下主流的 实时 OLAP 引擎,但它们在数据模型、查询延迟、并发能力、运维成本、生态定位上差异明显。

  • Druid:时序 OLAP ,预聚合王者,高并发、亚秒级,事件流(日志/监控)场景首选。

  • ClickHouse:列式 OLAP ,性能怪兽,单表亿级聚合秒出结果,自助分析/行为分析利器。

  • Doris:新一代 MPP ,统一数仓,实时+离线一体化,标准 SQL、Join 友好、易运维。

维度DruidClickHouseDoris
数据模型预聚合 + 时间分区(Segment)纯列式、稀疏索引列式 + 索引 + 物化视图
最佳场景时序/事件流、监控、日志单表海量分析、用户行为实时数仓、统一报表
查询延迟亚秒级(预聚合)毫秒-秒级毫秒-秒级
并发 QPS10k+100-1k(依赖节点数)1k-5k
Join 能力弱(建议大宽表)中(Local Join 优化)强(分布式 Shuffle Join)
运维难度中(Segment 管理)中(MergeTree 调优)低(一键扩缩容,自动均衡)
生态Kafka、Flink、Superset 深度集成BI 工具多、社区活跃MySQL 协议、BI 无缝接入
存储压缩高(Roaring Bitmap)极高(LZ4/ZSTD)高(列存+字典编码)
写入方式实时流(Kafka Indexing)+ 批量批量插入/异步写Stream Load / Routine Load

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值