Пн go :: Ошибка :: NoServerAvailable: первичный сервер недоступен в кластере - PullRequest
0 голосов
/ 07 февраля 2020

Я получаю следующую ошибку при развертывании в производственную среду (через 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. Я что-то упустил в конфигурации? Что мне здесь искать?

1 Ответ

0 голосов
/ 08 февраля 2020
  1. Убедитесь, что вы можете подключиться к узлам с помощью оболочки MongoDB (mongo двоичный файл). Скорее всего, у вас нет подключения.

  2. Установите уровень журнала для отладки (https://docs.mongodb.com/mongoid/master/tutorials/mongoid-configuration/#logging), который скажет вам, что драйвер делает, когда он пытается подключиться к развертыванию.

...