Конфигурация реплики MongoDB v4.0.0 не удалось настроить - PullRequest
0 голосов
/ 14 декабря 2018

Я пытаюсь настроить репликацию на 3-х машинах (ОС UbuntuMATE 18.04) с установленной MongoDB v4.0.0.

Я использую Развертывание ссылки набора реплик MongoDB для справки,и попытался настроить следующим образом ...

Шаг 1: Обновите файл хоста всех трех машин с локальным IP-адресом и именами хоста, т.е.

127.0.0.1   localhost
192.168.10.158  dell-Inspiron-15-7000-Gaming
192.168.10.125  dell-1080x2
192.168.10.124  vivek-pc

Затем для каждой машины мой / etc / mongod.Conf настроен следующим образом ...

mongod.conf 192.168.10.158

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1, 192.168.10.158

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

replication:
  replSetName: rs-test

mongod.conf 192.168.10.124

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1, 192.168.10.124

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: rs-test

mongod.conf 192.168.10.125

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1, 192.168.10.125

# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo
replication:
  replSetName: rs-test

Затем я перезапустил все три MongoDB.

Теперь я хочу узнать следующие вещи ...

  1. Шаги, которые яПравильно ли указано для MongoDB V4?
  2. После перезапуска при подключении к mongo с помощью команды оболочки mongo.Во всех трех экземплярах отображается как rs-test:PRIMARY>.(Согласно ссылке есть один первичный и два других вторичных).Так что же здесь не так?
  3. Когда я пытаюсь запустить набор реплик на одной машине с помощью rs.initiate ().он возвращает мне следующее сообщение об ошибке ...
{
  "operationTime" : Timestamp(1544783790, 1),
  "ok" : 0,
  "errmsg" : "already initialized",
  "code" : 23,
  "codeName" : "AlreadyInitialized",
  "$clusterTime" : {
      "clusterTime" : Timestamp(1544783790, 1),
      "signature" : {
          "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
          "keyId" : NumberLong(0)
      }
  }
}

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 17 декабря 2018

Я сделал три изменения, и теперь он работает ...

  1. Очистить каталог / var / lib / mongodb на всех трех машинах
  2. Обновить /etc/mongod.conf(Я думаю, что в этом нет необходимости) и удалите 127.0.0.1 из bind Ip (имеется в виду только localIp или LiveIp в поле bind Ip) и добавьте имя набора реплик в двойных кавычках, т.е. "rs-test".

Затем перезапустите все три экземпляра MongoDB и добавьте следующие команды в базу данных 192.168.10.158, чтобы сделать ее основной.

rs.initiate()
rs.add("dell-1080x2")
rs.add("vivek-pc")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...