Appearance
边界、风险与后续
这一页回答三个问题:这套方案适合什么、哪些还没验证、上生产前还要补什么。 不要把“3 节点跑通”当成生产验收。
1. 适用边界
| 维度 | 测试环境已验证 | 生产要求 |
|---|---|---|
| 节点 | 3 × 16C32G | 按峰值容量规划,通常 5 节点起 |
| K8s | kubeadm 单 control-plane | 3 control-plane + etcd 仲裁 |
| 数据量 | 1M 行 | 按日增/峰值压测 |
| 可用性 | 单副本为主 | 多副本、跨故障域 |
| 安全 | HTTP + 默认密码 | TLS/SSO、最小权限、审计 |
| 备份 | 未做 | 定期备份 + 恢复演练 |
2. 已知限制
2.1 计算资源
- Flink TM 只有 4 个 slot,3 个 CDC 就会占满,批作业需要排队;
- 生产建议扩 TM、拆流/批集群,或使用 Flink Operator 做资源隔离。
2.2 调度
- DolphinScheduler 已验证 K8S 任务能拉起 Spark 和 Flink;
- WordCount 批任务因 slot 争用未放进主链路;
- CDC 流作业的长期运行、失败重启、savepoint 还未做完整演练。
2.3 元数据与血缘
- OpenMetadata 的表实体和手工血缘已验证;
- Spark OpenLineage 通过
ol-proxy+ol-bridge打通; ol-bridge的 dataset → 表实体映射是硬编码,生产要配置化;- OM 原生 S3/Iceberg dataset 解析仍未打通。
2.4 监控
- Spark History Server 固定入口可用;
- 旧事件目录与新目录不统一时,SHS 只能看到其中一部分;
- 未接 Spark/Flink 指标到 Prometheus,告警规则也未落地。
2.5 数据面
- Doris 1FE/1BE、Flink 1JM、DS 1master/1worker、OM/SHS 单副本;
- PostgreSQL/MySQL 单实例;
- 未做备份恢复、跨节点故障演练、压测。
2.6 安全
- UI 为 HTTP,测试环境使用默认密码;
- Harbor/SHS 端口未放安全组;
- 没有统一网关、SSO、审计日志。
3. 上生产前的检查清单
3.1 高可用
- [ ] K8s control-plane 至少 3 个,etcd 成员数为奇数;
- [ ] Flink JM 双副本 + ZooKeeper HA;
- [ ] DS master/worker 多副本;
- [ ] Doris 3FE/3BE,副本分布到不同节点;
- [ ] PostgreSQL/MySQL 主备或 Patroni;
- [ ] OM/Harbor/SHS 多副本 + 共享存储/数据库。
3.2 数据与备份
- [ ] PostgreSQL/MySQL 定期全量 + WAL/binlog;
- [ ] Iceberg 元数据与 S3 数据文件备份;
- [ ] 恢复演练,明确 RPO/RTO;
- [ ] 小文件、快照、孤儿文件清理任务。
3.3 安全与权限
- [ ] 全部 UI 走 HTTPS,接入 SSO/LDAP;
- [ ] 端口收敛到网关,安全组只放行必要来源;
- [ ] 数据库/对象存储使用最小权限账号;
- [ ] 开启审计日志与操作留痕。
3.4 容量与性能
- [ ] 按峰值并发压测 Doris;
- [ ] 按日增量压测 Kafka/Flink;
- [ ] 按最大批次压测 Spark;
- [ ] 明确 Flink slot、Spark executor、Doris BE 的容量模型。
3.5 可观测
- [ ] Spark/Flink/DS 指标接入 Prometheus;
- [ ] 入湖 freshness、查询 P99、任务失败率告警;
- [ ] SHS 事件目录统一,历史可追溯。
4. 后续路线
text
先补 HA 与备份
→ 再做安全与网关
→ 最后做容量压测与成本优化不建议在 3 节点测试环境上直接改造成生产 HA;应单独开一套 5–6 节点环境,按“控制面 HA → 数据面 HA → 组件 HA → 故障演练”推进。