使用 Docker Compose 快速搭建 Flink Session 集群
每次开发好的 Flink UDF 或是复杂的 Flink SQL 在本地直接打包往往无从下手测试其任务连调表现。自己搭建一个物理或裸虚拟机 Standalone 的集群又非常麻烦。因此,直接在个人开发环境下凭借 docker-compose 起一套带有 Web UI 且可进入 SQL 客户端的 Flink Session Cluster 是每个大数据开发的必备技能。
本文提供一份极简可运行的 yaml 配置(以 1.17.2 版本为主流)。
1. 关键的 Compose YAML 文件
创建一个单纯的空文件夹并写入 docker-compose.yml,架构极为明晰:即分配出一个 jobmanager (调度与 UI 入口中心)挂载出物理端口,并配套两个 taskmanager 来作为计算资源分配节点。
1 | version: '3.7' |
2. 启停交互与进入环境操作
通过一条命令拉组并使集群挂入后台运行:
1 | docker compose -f ./docker-compose.yml up -d |
检测与查看
完成拉起后,本地即可通过浏览器(由于映射被重写了端口)或者单纯的 HTTP 命令试探其存活状态:
1 | curl http://localhost:18081 |
进入原生的 SQL-Client
要想测试手写的 Flink SQL 各种 CREATE TABLE 等建查语态,我们仅需直接穿透到 jobmanager 容器里去分配一个客户端工具终端。因为都在一个内部的 bridge network 中,它是直通主服务大脑的。
1 | docker exec -it jobmanager /opt/flink/bin/sql-client.sh |
进入后,一个原汁原味的测试向 Session Cluster 就诞生在你的个人电脑中了。使用 docker compose down 亦可无污染一键终结销毁。
补充
如果需要把jar包copy到容器里进行测试,可以先把jar包放在当前目录下,然后执行:
1 | docker cp your-flink-job.jar jobmanager:/opt/flink/usrlib/ |
- Title: 使用 Docker Compose 快速搭建 Flink Session 集群
- Author: Ordiy
- Created at : 2026-02-28 15:15:00
- Updated at : 2026-03-02 04:17:17
- Link: https://ordiy.github.io/posts/2026-02-28-flink-session-cluster-docker-compose/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments