Database Reference
In-Depth Information
PRIMARY ist der Master-Server. Die Chancen stehen hoch, dass das der Server
an Port 27011 ist (da er als erster gestartet wurde). Welcher es auch immer
ist, öffnen Sie nun eine Console zum Primary. Fügen Sie etwas über die Kom-
mandozeile ein, und dann führen wir ein Experiment durch.
> db.echo.insert({ say : 'HELLO!' })
Nach dem Einfügen beenden Sie die Console, und dann wollen wir über-
prüfen, ob unsere Änderung repliziert wurde, indem wir den Master-Knoten
herunterfahren. Dazu reicht es aus, Ctrl + C zu drücken. Wenn Sie sich nun
die Logs der beiden verbliebenen Server ansehen, sollten Sie erkennen kön-
nen, dass einer der beiden zum Master aufgestiegen ist (er gibt die replSet
PRIMARY -Zeile aus). Öffnen Sie eine Console mit diesem Rechner (bei uns war
es localhost:27012 ), und db.echo.find() sollte den eben eingefügten Wert
enthalten.
Wir wollen eine weitere Runde in unserem Console-wechsel-dich-Spielchen
spielen. Öffnen Sie eine Console mit dem verbliebenen SECONDARY -Server. Um
ganz sicherzugehen, führen Sie die isMaster -Funktion aus. Bei uns sah das
wie folgt aus:
$ mongo localhost:27013
MongoDB shell version: 1.6.2
connecting to: localhost:27013/test
> db.isMaster()
{
"setName" : "book" ,
"ismaster" : false,
"secondary" : true,
"hosts" :[
"localhost:27013" ,
"localhost:27012" ,
"localhost:27011"
],
"primary" : "localhost:27012" ,
"ok" :1
}
In dieser Shell wollen wir einen weiteren Wert einfügen.
> db.echo.insert({ say : 'is this thing on?' })
not master
Die Meldung not master lässt uns wissen, dass wir nicht an einen sekundären
Knoten schreiben können. Und auch ein direktes Lesen von dort ist nicht
möglich. Es gibt nur einen Master pro Replica-Set und Sie müssen diesen
Master verwenden. Er ist der Wächter über dieses Set.
Search WWH ::




Custom Search