本文档只记录
poyee-data-warehouse开发需要了解的集群总体架构与技术栈,用于回答"我的 SQL 跑在什么上面、从哪里取数、用哪个账号"这类问题。 不记录运维细节(内核调优、组件配置优化、部署步骤、踩坑复盘等)。这些内容由平台/运维团队在公共知识库大数据空间中维护。
自底向上分为数据采集层、数据计算层、数据应用层,LDAP + Ranger 贯穿全栈做用户鉴权与审计日志。
┌─────────────────────────────────────────────────────────────┐
│ 数据应用层 │
│ 指标体系 │ 用户画像 │ 业务模型层 │ BI 可视化 │ 业务数据 │
└─────────────────────────────────────────────────────────────┘
▲
┌─────────────────────────────────────────────────────────────┐
│ 数据计算层 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 任务调度层:离线 DolphinScheduler │ 实时 StreamPark │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 数据分析层:Impala 即席查询 │ Flink 实时计算 │ │
│ │ MapReduce 离线 │ Spark 离线 │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 资源管理层:YARN / ZooKeeper │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
▲
┌─────────────────────────────────────────────────────────────┐
│ 数据采集层 │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 数据存储层:HBase KV │ ClickHouse 列存 │ HDFS 文件 │ Kafka 队列 │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 数据传输层:DataX 数据同步 │ Flume 日志收集 │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 数据源层:PG 业务库 │ ES 埋点库 │ 爬虫数据库 │ 其他数据 │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
侧面:LDAP + Ranger(用户鉴权、审计日志)贯穿全栈
绿色块(DolphinScheduler / Impala / MapReduce / Spark / YARN / HDFS / Kafka / DataX / Flume / PG / ES)为一二期任务的必要组件,其余为规划/扩展项。
| 类别 | 组件 | 版本 |
|---|---|---|
| 发行版 | Cloudera CDH | 6.3.2 |
| 分布式文件系统 | HDFS | 3.0.0 |
| 资源调度 | YARN | 3.0.0 |
| 数据仓库 | Hive | 2.1.1 |
| 计算引擎 | Spark | 2.4.0 |
| 即席查询 | Impala | 3.2.0 |
| 协调服务 | ZooKeeper | 3.4.5 |
| 查询入口 | Hue | 4.2.0 |
| 权限管理 | Apache Ranger | 2.1.0(源码二开集成) |
| 任务调度 | DolphinScheduler | 3.4.1 |
| 数据集成 | DataX | 阿里开源版v202309 |
与开发强相关的约束:
| 节点 | 角色 | 开发需知 |
|---|---|---|
m1 ~ m3 |
Master(控制/网关/元数据) | HiveServer2 / ResourceManager / DolphinScheduler Master 都在这三台 |
n1 ~ n4 |
Worker(存算一体) | DataNode + NodeManager + Impala Daemon;任务实际执行节点 |
详细角色分配、硬件配置由大数据负责人及运维人员维护。开发只需要知道任务最终跑在 n1-n4 上,Driver 前期集中在 m2。