Mongo :: Error :: NoServerAvailable:群集中没有主服务器可用

问题描述 投票:0回答:1

当部署到生产环境(通过gitlab)时,出现以下错误:

Mongo::Error::NoServerAvailable: No primary server is available in cluster: 
#<Cluster topology=
   ReplicaSetNoPrimary[url1:27017,url2:27017,url3:27017,url4:27017,url5:27017,name=mobile01] 
   servers=[
     #<Server address=url1:27017 UNKNOWN>,
     #<Server address=url2:27017 UNKNOWN>,
     #<Server address=url3:27017 UNKNOWN>,
     #<Server address=url4:27017 UNKNOWN>,
     #<Server address=url5:27017 UNKNOWN>]> with timeout=30, LT=0.015

我一直试图在Rails控制台中本地重现错误,这是我的配置:

ap Mongoid.client(:default).instance_values
{
  "srv_records" => nil,
    "options" => {
        "database" => "mydb",
        "auth_source" => "admin",
        "retry_reads" => true,
        "retry_writes" => true,
        "user" => "rp_projects",
        "password" => "xxxxxxxxxxxxxxxxx",
        "ssl" => true,
        "replica_set" => "mobile01",
        "connect" => :replica_set,
        "platform" => "mongoid-7.0.5"
   },
   "database" => #<Mongo::Database:0x70156564542240 name=mydb>,
   "cluster" => #<Mongo::Cluster:0x70156564540720 servers=[] 
                   topology=
                   ReplicaSetNoPrimary[url1:27017,url2:27017,url3:27017,url4:27017,url5:27017,
                   name=mobile01]>
}

服务器正在docker映像中运行。我在配置中缺少什么吗?我应该在这里找什么?

ruby-on-rails docker mongoid
1个回答
0
投票
  1. 验证您是否可以使用MongoDB shell(mongo二进制文件)连接到节点。您很可能没有连接。

  2. 将日志级别设置为调试(https://docs.mongodb.com/mongoid/master/tutorials/mongoid-configuration/#logging),它将告诉您驱动程序在尝试连接到部署时正在做什么。

© www.soinside.com 2019 - 2024. All rights reserved.