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

OpenTelemetry Collector连接Apache Spark失败:连接被拒绝问题求助

解决OpenTelemetry Collector采集Spark指标时的连接拒绝问题

核心问题

错误日志里的dial tcp 127.0.0.1:9090: connect: connection refused是关键——在OpenTelemetry Collector容器内部,localhost指向的是容器自身,而非运行Spark Master的容器。即便两者处于同一Docker网络,容器的localhost属于独立网络命名空间,无法跨容器访问。

解决步骤

1. 获取Spark容器的可访问标识

  • 执行docker ps查看Spark Master容器的名称(例如容器名可能为spark-master)
  • 或者通过容器ID/名称获取内部IP:
    docker inspect <spark容器ID或名称> | grep IPAddress
    

2. 修改Collector配置文件

将apachespark接收器的endpoint中的localhost替换为Spark容器的名称或内部IP:

receivers:
  apachespark:
    collection_interval: 10s
    endpoint: http://spark-master:9090/  # 替换为Spark容器名称或内部IP
    application_names:  

exporters:
  debug:
    verbosity: detailed

service:
  pipelines:
    metrics:
      receivers: [apachespark]
      exporters: [debug]

优先使用容器名称:同一Docker网络内,Docker DNS会自动解析容器名称到对应IP,比静态IP更稳定(容器重启后IP可能变化)

3. 重启Collector容器

让新配置生效:

docker restart <collector容器ID或名称>

验证连通性(可选)

可以在Collector容器内测试与Spark Master的连通性,确认网络正常:

docker exec -it <collector容器ID> curl http://spark-master:9090/api/v1/applications

如果返回JSON格式的应用列表,说明网络通路正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 14:30:09