01先确认源码访问权限

源码仓库保持私有。下方链接供已获授权的协作者使用;未登录或没有权限时可能返回 404。这个网站不提供公开源码下载,也不承诺所有访客都可以 clone。

如果已有权限,可 clone 仓库或打开现有 checkout,在仓库根目录运行后续命令。如果还没有权限,可先学习公开课程和原始资料;获得所有者授权后再做本地复现。

02准备运行环境

  • 在 macOS 或 Linux 使用 Bash。Windows 应使用与 Docker 集成的 WSL2 Linux shell;原生 PowerShell 不是启动器的运行环境。
  • 安装 Docker、Compose v2、Python 3 和 curl,并确保 Docker daemon 可访问。macOS 可以选用 Colima,但它不是所有平台的必需依赖。
  • 建议为 Docker 预留至少 10 GiB 内存,准备约 30 GiB 可用磁盘以容纳镜像和数据。这是容量规划基线,不是经过验证的最低配置或性能承诺。
  • 首次构建会下载容器镜像和连接器 JAR,需要能访问相应仓库。请在自己的机器上确认镜像可用性和 CPU 架构支持。
  • 启动器适配这些平台约定;本版不声称已在每个平台完成新的全栈集成运行。

03初始化、诊断、启动

初始化会创建本地配置,不覆盖已有文件。检查示例及端口选择,再运行 doctor,先解决错误再启动全栈。

Open 启动本地服务并输出控制台地址,请在同一台机器上访问。学习服务应保持 loopback 绑定;公开阅读站不会连接它们。

先启动所选的 Docker 环境。macOS 如选用 Colima,可用 ./stream-lab open --colima 显式启动;常规 close 不会停止共享 Docker 虚拟机。

./stream-lab init
./stream-lab doctor
./stream-lab open
./stream-lab status
./stream-lab smoke

04清晰的日常操作循环

任务命令含义
查看状态./stream-lab status显示本地项目容器状态
检查数据链路./stream-lab smoke执行服务、作业和查询检查;失败时查看具体断言
查看日志./stream-lab logs跟踪近期服务日志;Ctrl-C 退出跟踪
运行有界计算./stream-lab batch执行小时聚合和行数对账
使用高级 SQLmake sql进入本地 Flink SQL Client 自由查询
停止实验./stream-lab close停止本项目并保留 named volumes

05从第一个失败边界开始排查

现象下一步检查
无法访问 Docker启动所选 Docker 环境,再运行 doctor。
端口已被占用检查本地配置和现有监听,选择空闲端口后重试。
镜像或连接器下载失败查看最早的构建错误、仓库访问和镜像架构兼容性。
容器运行但没有数据先查 MySQL 与 mock-producer,再查 CDC 作业和 Join 作业。
湖表查询超时检查 SQL Gateway、Flink 空闲 slot、tiering 和 sink 提交错误。
小时汇总没有更新查 batch-runner 日志及作业完成情况,再查 Kafka 消费。
修改 SQL 后出现重复作业重新提交前有意识地取消旧作业,不要反复启动同名持续作业。

06理解停止与保留的语义

停止实验会保留 named volumes,但这不等于备份,不会自动清理全部旧湖文件,也不代表具备持久化高可用恢复方案。除非明确要清空实验数据,否则不要使用删除数据卷的命令。

代码在多个源端、日志、状态和服务层设置了七天保留;这些设置语义不同,清理时机也不同。当前没有实现定期 Iceberg 快照过期和完整湖文件清理流程。

本地组件采用仅适合学习的认证安排。不要通过隧道或端口转发把 Compose 栈发布成公网服务。本地配置与原始日志不会被导出到阅读站。