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

PySpark(Dataproc)连接MongoDB/Atlas时出现连接超时错误

排查PySpark连接MongoDB超时/连接拒绝问题

核心问题分析

报错明确显示尝试连接localhost:27017时被拒绝,本地及GCP Dataproc环境均出现该问题,说明要么MongoDB未在该地址运行,要么代码配置的连接地址错误,或是网络连通性存在障碍。

逐步排查解决方法

  • 确认MongoDB实例的实际地址

    • 若使用远程MongoDB(如GCP Cloud MongoDB、云服务器自建Mongo),绝对不能用localhost作为连接地址,需替换为MongoDB实例的公网IP、内网IP(同VPC环境下用内网更稳定)或主机名。
    • 本地环境需确认:MongoDB是否真的监听在localhost:27017,有没有修改过默认端口。
  • 验证网络连通性

    • 本地环境:打开终端执行mongosh localhost:27017,若连不上说明Mongo未启动或端口错误;也可使用telnet localhost 27017或nc -zv localhost 27017测试端口是否开放。
    • Dataproc集群:先登录主节点gcloud compute ssh custom-cluster-no-address-m --region us-west1,再执行telnet <mongodb-host> 27017或nc -zv <mongodb-host> 27017,若不通则检查MongoDB所在服务器的防火墙规则,或是GCP的VPC防火墙是否允许Dataproc集群的IP段访问27017端口。
    • 若是GCP Cloud MongoDB,需确认是否配置了VPC peering,或是是否在Mongo的网络白名单中添加了Dataproc集群的IP范围。
  • 检查PySpark代码的连接配置

    • 确保代码中的MongoDB URI配置正确,示例如下:
      from pyspark.sql import SparkSession
      
      spark = SparkSession.builder \
          .appName("MongoSparkDemo") \
          # 替换为你的MongoDB实际地址、用户名密码、库和集合
          .config("spark.mongodb.input.uri", "mongodb://username:password@mongo-host:27017/db_name.collection_name") \
          .config("spark.mongodb.output.uri", "mongodb://username:password@mongo-host:27017/db_name.collection_name") \
          .getOrCreate()
      
    • 若Mongo开启了认证,不要遗漏用户名密码;除非确实在本地节点运行Mongo,否则不要使用默认的mongodb://localhost:27017。
  • 检查MongoDB的运行和监听配置

    • 本地环境:检查Mongo服务状态,比如Linux下执行systemctl status mongod,Windows在服务列表中查看MongoDB是否启动。
    • 查看Mongo配置文件(如Linux的/etc/mongod.conf),确认net.bindIp设置为0.0.0.0(允许所有IP访问),若设置为127.0.0.1则仅能本地访问,外部无法连接。
    • 确认MongoDB所在服务器的防火墙未拦截27017端口。
  • 检查依赖兼容性

    • mongo-spark-connector版本必须与Spark、MongoDB版本匹配:10.0.x版本对应Spark 3.3.x和MongoDB 5.0/6.0,需确认你的Dataproc集群Spark版本(如Dataproc 2.1.x使用Spark 3.3.x是兼容的)。
    • 无需手动指定mongodb-driver-core和mongodb-driver-sync,connector本身会依赖这些包,手动添加可能导致版本冲突,建议仅提交mongo-spark-connector-10.0.5.jar尝试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 05:21:56