Appearance
部署顺序与验收
这一页只讲“先做什么、做到什么程度算过”。具体命令在 实战教程。
1. 总体顺序
text
P0 节点体检
→ P1 K8s 三节点 Ready
→ P2 存储(local-path + PG + SeaweedFS)
→ P3 Iceberg 读写
→ P4 Kafka + MySQL/PG
→ P5 Flink CDC
→ P6 Doris
→ P7 DS + Harbor + SHS
→ P8 Spark 批量
→ P9 端到端 + 1M不要跳阶段。每个阶段有 gate,不通过不进入下一步。
2. 各阶段 Gate
| 阶段 | 通过标准 |
|---|---|
| P0 | 三台内网互通、时间同步、数据盘挂载、CPU 有 AVX2 |
| P1 | 三节点 Ready,Calico Running,跨节点 Pod 能 ping |
| P2 | PG 四个库存在,SeaweedFS 全部 Running,warehouse bucket 可访问 |
| P3 | Spark 能建 lake.ods,Iceberg 写读 1 行成功 |
| P4 | Kafka 3 broker、topic RF3、MySQL binlog=ROW、PG wal_level=logical |
| P5 | Flink JM/TM Running,CDC 作业 RUNNING,Kafka 有数据 |
| P6 | Doris FE/BE Running,SHOW BACKENDS Alive |
| P7 | DS 5 组件 Running,Harbor 200,SHS 200 |
| P8 | Spark driver/executor Completed,SHS 有应用 |
| P9 | 1M 行 Iceberg/Doris 数量一致,DS 任务全 SUCCESS |
3. 验收命令
bash
# K8s
kubectl get nodes
kubectl get pods -A | grep -v Running
# 存储
kubectl -n data get pvc
kubectl -n storage get pods
# PG
kubectl -n data exec postgres-0 -- psql -U postgres -c '\l'
# Kafka
kubectl -n data exec kafka-0 -- /opt/kafka/bin/kafka-topics.sh \
--bootstrap-server kafka-0.kafka-headless.data.svc.cluster.local:9092 --list
# Flink
kubectl -n data get pods -l app=flink
# Doris
kubectl -n doris exec doris-fe-0 -- mysql -h127.0.0.1 -P9030 -uroot -e \
'SHOW BACKENDS;'
# DS
kubectl -n ds-cluster get pods
# SHS
curl -sS -o /dev/null -w '%{http_code}\n' http://$NODE1:30082/4. 端到端验收
| 项 | 期望 |
|---|---|
MySQL orders | 1,000,012 |
PG pg_orders | 1,000,012 |
Iceberg pg_orders_uncompressed | 1,000,012 |
Doris iceberg_orders | 1,000,012 |
| DS 工作流 | 5 任务 SUCCESS |
| SHS | 能看到 iceberg-batch-k8s |
5. 测试集群的已知偏差
- 单 control-plane;
- 主要组件单副本;
- 没有 TLS/SSO;
- 没有备份恢复;
- 1M 只验证功能,不代表容量。
这些偏差不影响“功能验证”,但不能当生产验收。
6. 失败怎么处理
- 先看
kubectl describe pod的 Events; - 再看组件日志;
- 对照 排障与清理;
- 不要在失败阶段继续叠组件;
- 修好后从本阶段 gate 重新验证。