Skip to content

边界、风险与后续 ​

这一页回答三个问题:这套方案适合什么、哪些还没验证、上生产前还要补什么。 不要把“3 节点跑通”当成生产验收。

1. 适用边界 ​

维度测试环境已验证生产要求
节点3 × 16C32G按峰值容量规划,通常 5 节点起
K8skubeadm 单 control-plane3 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 → 故障演练”推进。