Подтвердить что ты не робот

Ошибка mongorestore: недоступные серверы

Я попытался восстановить mongo из дампа, но не смог:

mongorestore --port 27133 dump
2015-05-07T09:39:11.760+0300    Failed: no reachable servers

Хотя я могу подключиться к нему без каких-либо проблем:

$ mongo --port 27133
MongoDB shell version: 3.0.1
connecting to: 127.0.0.1:27133/test

В файле журнала нет ничего особенного:

2015-05-07T09:37:00.350+0300 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:44901 #1 (1 connection now open)
2015-05-07T09:37:13.935+0300 I NETWORK  [conn1] end connection 127.0.0.1:44901 (0 connections now open)
2015-05-07T09:39:08.752+0300 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:44906 #2 (1 connection now open)
2015-05-07T09:39:11.763+0300 I NETWORK  [conn2] end connection 127.0.0.1:44906 (0 connections now open)
2015-05-07T09:39:52.365+0300 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:44907 #3 (1 connection now open)
2015-05-07T09:39:55.064+0300 I NETWORK  [conn3] end connection 127.0.0.1:44907 (0 connections now open)
2015-05-07T09:40:11.272+0300 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:44909 #4 (1 connection now open)
2015-05-07T09:40:14.281+0300 I NETWORK  [conn4] end connection 127.0.0.1:44909 (0 connections now open)

Update

Хост 127.0.0.1 не помог

$ mongorestore --host=127.0.0.1 --port=27132 dump
2015-12-16T18:52:33.270+0300    Failed: no reachable servers

Хотя я все еще могу подключиться с помощью команды mongo:

$ mongo --host=127.0.0.1 --port=27133
MongoDB shell version: 3.2.0
connecting to: 127.0.0.1:27133/test
> ^C
bye

Хост 0.0.0.0 тоже не помог:

$ mongorestore --host=0.0.0.0 --port=27133 dump

У меня есть версия версии MongoDb 3.2:

$ mongorestore --version
mongorestore version: 3.2.0-rc5
git version: 6186100ad0500c122a56f0a0e28ce1227ca4fc88
4b9b3361

Ответ 1

Проблема возникла из-за того, что --replSet был включен в конфигурации. Но node еще не был установлен в какой-либо реплике.

После того как я удалил --replSet из конфигурации, перезапустил сервер mongodb, mongorestore начал работать без какого-либо параметра --host.

Ответ 2

попробуйте добавить параметр хоста

mongorestore --host=127.0.0.1 --port=27133 dump

Ответ 3

Вы запускаете mongo в наборе реплик, т.е. mongod --replSet rs0?

Если да, не забудьте запустить в своей оболочке mongo команду: rs.initiate()

Затем вы можете использовать cmd mongorestore для восстановления своего db.

Ответ 4

У меня есть MongoDB, установленный через Homebrew, и у меня была эта проблема. Вот симптомы:

Сбой:

mongorestore dump

mongorestore dump --host=localhost

Ошибка, которую я получил: Failed: error connecting to db server: no reachable servers

Они работали (как обходной путь):

mongorestore dump --host=127.0.0.1

mongorestore dump --host=0.0.0.0

Это устранило проблему для меня:

brew update && brew upgrade

Это обновление MongoDB до 3.0.7 и теперь mongorestore dump работает без флага хоста.

Ответ 5

проверьте конфигурационный файл mongod, если вы включили репликацию, отключите его, если он включен, аутентификация на основе ключа отключит его, в основном отключает любую другую вещь и перезапускает службу mongod, а затем пытается выполнить восстановление mongo.

И BTW, попробуйте привязать ipaddress mongod к вашему адресу компьютера, а если это локальный экземпляр mongod, попробуйте привязать ip-адрес к 0.0.0.0, в файле mongod.conf в bind_ip = "ваш IP-адрес", пусть я знаю, что это делает или нет.

Ответ 6

Мне тоже было сложно с этим вопросом.

mongorestore --host f8cab83e7294 --port 27601 gene_backup_final/gene_backup/s2/  --verbose

2016-12-05T13:48:15.333-0700 Failed: error connecting to db server: no reachable servers

Мне не удалось запустить набор реплик. Вот почему не было доступного сервера

После запуска RS восстановление выполнено.

mongo localhost:27501
rs.initiate()

Ответ 7

Первый запуск mongod

Если вы получите исключение exception in initAndListen: 29 Data directory /data/db not found., terminating, выполните sudo mkdir -p /data/db

Если вы получите expection exception in initAndListen: 98 Unable to create/open lock file: /data/db/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating, возможно, у вас есть проблема с разрешением. Если это ваш локальный, вы можете запустить sudo chmod 7777 /data/db, чтобы исправить проблему.

Теперь mongod должен работать. Затем запустите mongorestore dump, где находится ваш файл дампа.

Вам следует восстановить файл дампа.

Ответ 8

В моем случае (с Mongo 3.2.9) сервер был настроен на прослушивание адреса localhost IPv4 (127.0.0.1), но mongorestore пробовал только адрес localhost IPv6 (::1).

Использование -h 127.0.0.1 сработало. Однако, это не должно быть необходимым, ИМХО, и это ошибка в mongorestore. Он должен использовать ту же логику подключения, что и mongo командной строки mongo, который работал.

Примечание: наборы реплик не были включены.

Ответ 9

У меня та же проблема. Я попытался запустить mongod, прежде чем восстанавливать свою свалку, и это работает для меня. Надеюсь, что это поможет в этой ситуации.

Ответ 10

В моем случае я определяю порт два раза.

магазин --noIndexRestore - хост XXXX: 27017 -d XYZ --port 27017 имя

Решите в моем случае,

магазин --noIndexRestore - хост XXXX -d XYZ --port 27017 имя

Ответ 11

Если вы используете размещенный сервис (например, MongoDB Atlas), убедитесь, что вы настроили белый список IP-адресов, чтобы он не блокировал ваш IP-адрес. Вы можете установить его на 0.0.0.0/0 чтобы 0.0.0.0/0 в белый список все IP-адреса, но это плохая идея с точки зрения безопасности, поэтому его следует использовать только как временную меру.