Skip to content

部署顺序与验收 ​

这一页只讲“先做什么、做到什么程度算过”。具体命令在 实战教程。

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
P2PG 四个库存在,SeaweedFS 全部 Running,warehouse bucket 可访问
P3Spark 能建 lake.ods,Iceberg 写读 1 行成功
P4Kafka 3 broker、topic RF3、MySQL binlog=ROW、PG wal_level=logical
P5Flink JM/TM Running,CDC 作业 RUNNING,Kafka 有数据
P6Doris FE/BE Running,SHOW BACKENDS Alive
P7DS 5 组件 Running,Harbor 200,SHS 200
P8Spark driver/executor Completed,SHS 有应用
P91M 行 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 orders1,000,012
PG pg_orders1,000,012
Iceberg pg_orders_uncompressed1,000,012
Doris iceberg_orders1,000,012
DS 工作流5 任务 SUCCESS
SHS能看到 iceberg-batch-k8s

5. 测试集群的已知偏差 ​

  • 单 control-plane;
  • 主要组件单副本;
  • 没有 TLS/SSO;
  • 没有备份恢复;
  • 1M 只验证功能,不代表容量。

这些偏差不影响“功能验证”,但不能当生产验收。

6. 失败怎么处理 ​

  1. 先看 kubectl describe pod 的 Events;
  2. 再看组件日志;
  3. 对照 排障与清理;
  4. 不要在失败阶段继续叠组件;
  5. 修好后从本阶段 gate 重新验证。