
本Docker镜像用于在Kubernetes集群上部署和运行Apache Flink,受https://github.com/kubernetes/application-images/tree/master/spark%E5%90%AF%E5%8F%91%E3%80%82%E9%95%9C%E5%83%8F%E5%9F%BA%E4%BA%8EFlink 1.2.0版本,支持Job Manager(主节点)和Task Manager(工作节点)的容器化部署,提供完整的Flink集群功能,包括WebUI监控和作业提交。
Docker镜像可在https://hub.docker.com/r/sedgewickmm18/flink/%E8%8E%B7%E5%8F%96%EF%BC%8C%E6%9E%84%E5%BB%BA%E8%AF%B4%E6%98%8E%E8%AF%A6%E8%A7%81https://github.com/sedgewickmm18/flink-kubernetes/blob/master/DOCKER.md%E3%80%82
kubectl命令行工具已配置并添加到环境变量创建Flink集群专用命名空间:
console$ kubectl create -f namespace.yaml
验证命名空间创建结果:
console$ kub $ $ kubectl get names NAME STATUS AGE default Active 3h flink Active 20m kube-system Active 3h
配置上下文以默认使用flink命名空间:
console$ kubectl config set-context flink --namespace=flink --cluster=${YOUR_CLUSTER_NAME} --user=${YOUR_USER_NAME} $ kubectl config use-context flink
集群名称和用户名可在
~/.kube/config文件中查看
Job Manager是Flink集群的主节点服务,负责作业调度和资源管理。
console$ kubectl create -f jobmanager-controller.yaml replicationcontroller "jobmanager-controller" created
console$ kubectl create -f jobmanager-service.yaml service "jobmanager" created
console$ kubectl create -f jobmanager-webui-service.yaml service "jobmanager-webui" created
验证Job Manager状态
检查Pod运行状态:
console$ kubectl get pods NAME READY STATUS RESTARTS AGE jobmanager-controller-5u0q5 1/1 Running 0 8m
查看Job Manager日志(替换实际Pod名称):
console$ kubectl logs jobmanager-controller-5u0q5
访问WebUI
通过kubectl代理访问WebUI:
consolekubectl proxy --port=8081 &
WebUI地址:http://localhost:8080/api/v1/proxy/namespaces/flink/services/jobmanager-webui/
或使用端口转发(替换实际Pod名称):
consolekubectl port-forward jobmanager-controller-9pc74 8081:8081
Task Manager是Flink集群的工作节点,负责实际数据处理。
创建Task Manager Replication Controller:
console$ kubectl create -f taskmanager-controller.yaml replicationcontroller "taskmanager-controller" created
验证Task Manager状态
检查Pod运行状态:
console$ kubectl get pods NAME READY STATUS RESTARTS AGE jobmanager-controller-5u0q5 1/1 Running 0 25m taskmanager-controller-e8otp 1/1 Running 0 6m taskmanager-controller-fiivl 1/1 Running 0 6m
查看Job Manager日志确认Task Manager注册情况:
console$ kubectl logs jobmanager-controller-5u0q5
consoledocker run -ti -p 8081:8081 --name jobmanager flink jobmanager jobmanager
consoledocker run -ti --link jobmanager flink taskmanager jobmanager num
通过WebUI提交作业:
获取Task Manager Pod名称:
consolekubectl get pods | grep taskmanager
查看日志文件列表:
consolekubectl exec taskmanager-controller-dc0zx -- ls /opt/flink/log
查看具体日志(替换实际Pod名称和日志文件名):
consolekubectl exec taskmanager-controller-dc0zx -- less /opt/flink/log/flink--taskmanager-0-taskmanager-controller-dc0zx.log
更多Kubernetes故障排查参考官方文档
本镜像基于Flink 1.2.0版本,已解决FLINK-2821问题(Task Manager与Job Manager的IP地址匹配问题)。对于Flink 1.1.3版本,需使用包含自定义Akka 3构建的特殊镜像。
以下是 sedgewickmm18/flink 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务