MongoDB. Разное поведение для командной строки и файла конфигурации - PullRequest
0 голосов
/ 17 мая 2018

Я тестирую sharding в MongoDB

Сначала я запускаю сервер конфигурации и использую два метода.

метод 1 / с файлом конфигурации (не работает) здесьмой файл конфигурации

systemLog:
  destination: file
  path: "G:/data/replicas/server2/logs/server1.log"
  logAppend: true
storage:
  dbPath: "G:/data/replicas/server2/db"
  engine: wiredTiger
  journal:
      enabled: true
#security:
#  authorization: enabled
replication:
  oplogSizeMB: 128
  replSetName: rsData
#processManagement:
#   fork: true
net:
   bindIp: 127.0.0.1
   port: 27018

, когда я запускаю rs.initiate, я получаю ошибку.

> rs.initiate()
{
        "info2" : "no configuration specified. Using a default configuration for the set",
        "me" : "HORUS:27019",
        "ok" : 0,
        "errmsg" : "No host described in new configuration 1 for replica set rsConfSvr maps to this node",
        "code" : 93,
        "codeName" : "InvalidReplicaSetConfig"
}

, когда я запускаю rs.status (), после rs.initiate (),Я получаю сообщение об ошибке.

> rs.status()
{
        "info" : "run rs.initiate(...) if not yet done for the set",
        "ok" : 0,
        "errmsg" : "no replset config has been received",
        "code" : 94,
        "codeName" : "NotYetInitialized"
}

метод 2 / с командной строкой

Это работает

Если я не ошибаюсь, командная строка имеет те же параметры, что и файл конфигурации

mongod --configsvr --dbpath G:/data/shards/cfgserverA/data --port 27019 --replSet rsConfigSvr --logpath "G:/data/shards/cfgserverA/logs/cfgserverA.log"
--logappend true --directoryperdb true

Теперь rs.initiate () и rs.status () работают совместно.

 rs.initiate()
{
        "info2" : "no configuration specified. Using a default configuration for the set",
        "me" : "HORUS:27019",
        "ok" : 1
}
rsConfigSvr:OTHER>

rs.status()['configsvr']
true

Может кто-нибудь объяснить?Я не понимаю причину этой разницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...