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

如何在Zeppelin中通过Spark Session连接MongoDB?遇认证错误求助

解决Zeppelin中Spark写入MongoDB的认证错误问题

排查与解决步骤

  • 校验MongoDB连接URI格式
    正确的带认证的URI格式应为:mongodb://<用户名>:<密码>@<主机地址>:<端口>/<认证数据库>?authSource=<认证数据库>
    注意点:

    • 若用户名/密码包含特殊字符(如@、:、/),必须做URL编码(例如@编码为%40)
    • authSource参数不可省略,默认是admin,如果你的用户是在people数据库下创建的,需改为authSource=people
  • 确认连接器版本兼容性
    确保mongo-spark-connector版本与你的Spark、MongoDB版本匹配:

    • Spark 3.x对应连接器3.x系列
    • Spark 2.x对应连接器2.x系列
      可在Zeppelin的依赖管理面板中检查或添加对应版本的依赖包
  • 拆分认证参数显式配置
    如果URI方式仍有问题,尝试将认证参数拆分单独设置:

    people.write.format("mongodb")
      .mode("append")
      .option("uri", "mongodb://<主机地址>:<端口>")
      .option("database", "people")
      .option("collection", "contacts")
      .option("username", "你的用户名")
      .option("password", "你的密码")
      .option("authSource", "认证数据库名")
      .save()
    
  • 检查MongoDB用户权限
    登录MongoDB Shell,确认目标用户拥有people数据库的readWrite权限:

    use people
    db.getUsers()
    

    查看返回结果中用户的roles字段是否包含{ role: "readWrite", db: "people" }

  • 验证网络连通性
    在Zeppelin所在服务器上,用telnet <主机地址> <端口>或nc -zv <主机地址> <端口>测试与MongoDB的网络连通性,排除防火墙或网络策略拦截问题


内容的提问来源于stack exchange,提问作者Another Day Another Data

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:14:56