标签:
StreamParkFlinkKubernetes大数据容器化
作者:Vincent Li
时间:2025-11-05
💡 前言
最近在尝试将 StreamPark 部署到 K8s 环境,并使用 k8s Application 模式运行 Flink SQL 作业。结果一路踩坑,从部署 StreamPark 到任务运行状态,都遇到了各种问题。
本文将记录我从问题排查到解决的全过程,希望能帮到后续同样在容器环境中使用 StreamPark 的同学。
⚠️ 一、StreamPark 不能直接部署在 K8s 中
很多人看到 StreamPark 是 Apache 顶级项目,天然以为它可以无缝在 K8s 环境中运行。实际上……并不能。
❌ 问题现象
当 StreamPark 容器运行在 K8s 中,并尝试发布 Flink SQL 作业时,后台日志出现类似错误:
java.lang.RuntimeException: java.io.IOException: com.sun.jna.LastErrorException: [2] No such file or directory
后来又出现:
java.lang.RuntimeException: java.io.IOException: com.sun.jna.LastErrorException: [111] Connection refused
🔍 问题原因
StreamPark 需要通过 Docker API 来打包并推送 Flink 作业镜像。
默认情况下,它会访问: /var/run/docker.sock
然而现代的 K8s 节点(例如阿里云 ACK)已经不再使用 dockerd,而是迁移到了 containerd 或 cri-dockerd,这意味着:
👉 容器中根本不存在 /var/run/docker.sock 或 dockerd 守护进程。
💡 解决建议
-
不建议在 K8s 内直接运行 StreamPark;
-
推荐将 StreamPark 部署在 独立的 ECS 虚拟机,使用裸机或docker部署;
-
通过 挂载宿主机的
/var/run/docker.sock实现与宿主机 Docker 通信:docker run -d \ -v /var/run/docker.sock:/var/run/docker.sock \ streampark:latest
🚫 二、任务状态一直“启动中”,但实际上已结束
❌ 问题现象
当 Flink 作业以 Kubernetes Application 模式提交后,
StreamPark 会尝试通过 REST API 与 JobManager 通信。
日志出现:

🔍 问题定位
StreamPark 打包任务时使用的 JobManager Service 域名是进行通信,但是我们这个服务器并不是k8s内的pod,所以访问不到service域名,导致任务从启动到销毁,streampark始终显示任务在”启动中“
✅ 解决方案
使用LoadBalacer模式启动
🌀 三、任务状态一直“运行中”,但实际上已结束
❌ 问题现象
Flink 任务提交后,在 Kubernetes 中确实启动了:
flink-sql-demo-jobmanager-1 flink-sql-demo-taskmanager-1
任务成功执行并结束,Pod 被正常回收,但 StreamPark 页面仍显示:
状态:运行中(Running)
🔍 根本原因(猜测)
StreamPark 的任务状态同步机制依赖 Flink 的 REST 接口。
在 JobManager Pod 被销毁 后,REST Endpoint 也随之消失,
而 StreamPark 没能正确收到 “任务已终止” 的事件回调。
✅ 建议方案
这个目前没法解决,已经在github提了Issues:
https://github.com/apache/streampark/issues/4311
📘 总结
| 问题 | 原因 | 建议方案 |
|---|---|---|
| StreamPark 无法在 K8s 内打包 | K8s 没有 dockerd | 使用 ECS 部署 StreamPark |
| 任务完成仍显示启动中 | 外部无法解析 service域名 | 使用 LoadBalancer启动 |
| 任务完成仍显示运行中 | REST endpoint 已销毁 | 暂无办法,除非不用 k8s application |
🧠 最后
StreamPark 的功能强大,但其设计更偏向于传统物理/虚拟机部署环境。
目前使用体验不好,折腾好久还是不能用,当然我不清楚是不是我的原因,欢迎大家指正
同时我也会调研其他部署Flink的方案,比如 Flink 官方 Operator 或 Dinky;
💬 如果你也在 K8s 上折腾 StreamPark,欢迎留言交流更多坑点。
希望这篇笔记能帮你少踩几个坑 🙌
1180

被折叠的 条评论
为什么被折叠?



