Единый экземпляр Mongodb Replica Set - не может выполнять операции запроса/вставки

После установки mongodb я запустил mongod с помощью

mongod --dbpath <pathtodb> --logpath <pathtolog> --replSet rs0
</pathtolog></pathtodb>

Затем я связался с оболочкой mongo и запустил

rs.initiate()

Затем я попытался вставить документ в коллекцию, но получил ошибку:

> db.blah.insert({a:1})
WriteResult({ "writeError" : { "code" : undefined, "errmsg" : "not master" } })

Глядя на rs.status(), я вижу, что статус REMOVED:

> rs.status()
{
 "state" : 10,
 "stateStr" : "REMOVED",
 "uptime" : 1041,
 "optime" : Timestamp(1429037007, 1),
 "optimeDate" : ISODate("2015-04-14T18:43:27Z"),
 "ok" : 0,
 "errmsg" : "Our replica set config is invalid or we are not a member of it",
 "code" : 93
}

Я понятия не имею, что я мог сделать, чтобы испортить это. Думаю, это сработало. Как мне пройти мимо этого?

2 ответа

Проблема здесь в том, что вы запустили rs.initiate().. В качестве ПУСТОЙ! Вы не указали, какие машины принадлежат этому набору реплик.

Итак..

rs.initiate({
 _id: "rs0",
 version: 1,
 members: [
 { _id: 0, host : "address.to.this.machine:27017" }
 ]
 }
)


Я тоже сталкиваюсь с той же проблемой, я попытался выполнить шаги,

ПРИМЕЧАНИЕ. Если у вас уже установлена ​​настройка кластера, следуйте моим шагам

  • Я остановил определенный сервер (host: "address.to.this.machine: 27017" )
  • Удалить файл mongod.lock
  • создать еще один каталог данных      - (deafult:/data/db, new Каталог данных:/data/db_rs0)

  • обновить ** конфигурационный ** файл     -change dbpath ( "/data/db_rs0" ),     - проверить bindIP (по умолчанию: от 127.0.0.0 до 0.0.0.0)

  • Проверить имя хоста и хосты

    имя хоста

    sudo vi/etc/hosts

добавить в хосты

127.0.0.0 hostname
 127.0.1.1 hostname
 (add your Public/Private IP) hostname
  • Запустите сервер MONGODB в

    sudo/usr/bin/mongod -f/etc/mongod.conf &

rs.initiate({_id: "rs0", члены: [{_id: 0, host: "hostname: 27017" }]})

rs.status()

{

....

"members": [

{
 "_id": 0,
 "name": "hostname:27017",
 "health": 1,
 "state": 1,
 "stateStr": "PRIMARY",
 "uptime": 98231,
 "optime": {
 "ts": Timestamp(1474963880, 46),
 "t": NumberLong(339)
 },
 "optimeDate": ISODate("2016-09-27T08:11:20Z"),
 "electionTime": Timestamp(1474956813, 1),
 "electionDate": ISODate("2016-09-27T06:13:33Z"),
 "configVersion": 12,
 "self": true
},

...........

]

"ok": 1

}

-------- СПАСИБО --------

licensed under cc by-sa 3.0 with attribution.