2016-09-07 2 views
1

После полной переустановки монго, он до сих пор помнит конфигурацию набора реплик; где он хранит это?Где хранятся настройки репликации монго?

Я установил mongo на linux-сервере, используя учетную запись пользователя нашего проекта, в каталог, принадлежащий этому пользователю. Я настроил репликацию и работал нормально. Затем, чтобы проверить некоторые более тонкие точки установки, я удалил весь каталог mongo и переустановил. Войдя в монго, я обнаружил, что репликация уже настроена по-прежнему; так что казалось бы, что манго где-то хранит информацию.

Я проверил несколько областей, которые, возможно, были крепящие набор репликаций конфигурации:

  1. во-первых, в каталоге Монго, но был удален.
  2. В некоторой традиционной структуре linux, вероятно, принадлежит root, но у пользователя проекта нет корневого доступа и mongo, которым управляет то же самое, также не должно.
  3. Домашний каталог пользователя проекта. Теперь у этого есть файл .dbshell, содержащий историю командной строки, но только это. Я не видел никаких других файлов, которые были связаны.
  4. Некоторое место, указанное в конфигурации монго. Но у меня есть только два пути, упомянутых там: один для системного журнала (systemLog.path), а другой для хранения (storage.dbPath), и оба указывают на каталог mongo, который был удален.

Кто-нибудь знает, где mongo хранит эту конфигурационную информацию?

+0

Хорошей отправной точкой будет rs.help() и rs.status() в вашей Mongo Shell. rs.conf() показывает вашу текущую конфигурацию репликации. – dyouberg

+0

На самом деле, rs.status() - это то, как я знаю, что он придумал всю исходную информацию. К сожалению, он не предоставляет информации о том, какое физическое местоположение на машине хранится в этой информации. Спасибо хоть. –

ответ

4

Данные репликации хранятся в local database в каждом узле (начиная с MongoDB 3.2.9). Эта база данных содержит информацию о наборе реплик, а также содержит oplog (коллекция oplog.rs). Информация о наборе реплик хранится в коллекции system.replset в этой базе данных local.

Физические файлы для этой базы данных (а также для других баз данных) хранятся в dbPath directory, которые можно настроить с помощью:

  • Параметр --dbpath при запуске mongod
  • заходящего storage.dbPath в configuration file

значение по умолчанию dbpath/data/db является

Ваша установка набора реплик не будет сохранена, если вы опустели каталог dbpath. Если вы обнаружите, что параметры репликации сохранены, возможно, что настройка dbpath неверна.

+0

Я не был ясно выше, но я устанавливаю 'dbPath', который находится в каталоге mongo, который я удаляю. НО я просто прошел весь процесс снова, и информация о конфигурации rs исчезла. Это то, чего я ожидал в первую очередь.Возможно, я сделал один из шагов назад раньше. Я собираюсь пойти дальше и проверить это как правильный ответ, так как это должно быть, и отметить это до ошибки пользователя. –

Смежные вопросы