You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac M1环境Docker Compose部署Flink出现Connection refused报错如何解决

排查步骤与解决方案

根因确认

从报错日志与docker ps输出可以确认:taskmanager尝试连接的9cf35ea13c8b:6123为历史jobmanager容器ID,和当前运行的jobmanager容器IDc211940acf41不符,属于旧环境残留或Flink RPC地址绑定配置缺失导致的连接失败。


分步处理

  1. 清理旧环境缓存
    执行以下命令完全销毁旧容器、挂载卷与自定义网络,避免历史缓存干扰:
docker-compose down -v
  1. 补全docker-compose配置项
    在原有配置基础上添加主机名、端口暴露、绑定地址配置,避免Flink默认绑定到容器内部回环地址或容器ID:
version: "2.2"
services:
  jobmanager:
    image: arm64v8/flink:alpine
    hostname: jobmanager
    ports:
      - "8081:8081"
    expose:
      - "6123"
    # 测试连通性时可先替换为command: jobmanager,确认集群连通后再改回standalone-job
    command: standalone-job --job-classname com.job.ClassName [--job-id <job id>] [--fromSavepoint /path/to/savepoint [--allowNonRestoredState]] [job arguments]
    volumes:
      - ~/sg_flink/artifacts:/opt/flink/usrlib
    networks:
      - flink-network
    environment:
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
        jobmanager.rpc.bind-host: 0.0.0.0
        jobmanager.bind-host: 0.0.0.0
        parallelism.default: 2

  taskmanager:
    image: arm64v8/flink:alpine
    depends_on:
      - jobmanager
    command: taskmanager
    scale: 1
    volumes:
      - ~/sg_flink/artifacts:/opt/flink/usrlib
    networks:
      - flink-network
    environment:
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
        taskmanager.bind-host: 0.0.0.0
        taskmanager.numberOfTaskSlots: 2
        parallelism.default: 2
networks:
  flink-network:

注意:使用standalone-job模式时必须将--job-classname后的参数替换为你实际的作业主类全限定名,否则jobmanager会启动失败,也会导致taskmanager连接被拒绝。

  1. 验证连通性
    重新启动集群后,进入taskmanager容器执行以下命令验证网络连通性:
docker exec -it sg_flink_taskmanager_1 telnet jobmanager 6123

如果能正常连通,再访问http://localhost:8081查看Flink Web UI确认taskmanager是否已正常注册。


内容的提问来源于stack exchange,提问作者Joachim Karlsson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 20:15:09