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

Docker部署CMAK创建集群时报AskTimeoutException错误求助

问题根因&排查步骤

  • 配置缺失导致CMAK无法拉取Kafka元数据

你当前的Kafka配置未开放JMX端口、未明确配置监听规则,CMAK默认依赖JMX获取集群 metrics 与元数据,请求超时就会抛出AskTimeoutException。
首先修改kafka.yaml中Kafka服务的配置:

kafka:
    image: wurstmeister/kafka
    container_name: kafka
    ports:
        - "9092:9092"
        - "9999:9999" # 新增JMX端口映射
    environment:
        KAFKA_ADVERTISED_HOST_NAME : 192.168.29.138
        KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
        # 新增以下配置
        KAFKA_LISTENERS: INTERNAL://0.0.0.0:9093,EXTERNAL://0.0.0.0:9092
        KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:9093,EXTERNAL://192.168.29.138:9092
        KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
        KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
        KAFKA_JMX_PORT: 9999
        KAFKA_JMX_HOSTNAME: 192.168.29.138

修改后重启Kafka服务。

  • CMAK集群创建配置错误

进入CMAK新建集群页面,检查以下配置项:

  1. Zookeeper Hosts 填写 zookeeper:2181,不要填写宿主机IP/localhost,CMAK与Zookeeper同属一个Docker内部网络,用服务名访问连通性更稳定
  2. 勾选 Enable JMX Polling 选项
  3. Kafka Version 选择和你部署的Kafka大版本匹配的选项,不要选择高于实际部署版本的选项
  • 网络连通性验证

进入CMAK容器内部,执行以下命令验证网络连通:

# 验证Zookeeper连通
ping zookeeper
telnet zookeeper 2181
# 验证Kafka连通
ping kafka
telnet kafka 9092
telnet 192.168.29.138 9999

如果出现端口不通的情况,检查宿主防火墙、Docker网络策略配置。

  • 版本兼容性校验

当前wurstmeister/kafka用的是latest标签,hlebalbau/kafka-manager:stable也可能存在版本不兼容问题,可以指定明确的Kafka镜像版本,比如wurstmeister/kafka:2.13-2.8.1,同时更换为官方维护的CMAK镜像,避免镜像本身存在缺陷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:45:04