
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本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 镜像,适用于 不同场景 等不同场景: