Ich habe zum ersten Mal Mongo Replica Sets ausprobiert.
Ich verwende Ubuntu auf ec2 und habe drei Instanzen hochgefahren. Ich habe die private IP-Adresse jeder Instanz verwendet. Ich habe als primären ausgewählt und unten ist der Code.
mongo --host Private IP Address
rs.initiate()
rs.add(“Private IP Address”)
rs.addArb(“Private IP Address”)
Alles an diesem Punkt ist in Ordnung. Wenn ich zur Website http://ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com:28017/_replSet gehe, sehe ich, dass ich einen primären, einen zweiten und einen Schiedsrichter habe.
Ok, jetzt zu einem Test.
Beim primären Erstellen einer Datenbank ist dies der Code:
use tt
db.tt.save( { a : 123 } )
Auf der Sekundärseite mache ich das dann und erhalte den folgenden Fehler:
db.tt.find()
error: { "$err" : "not master and slaveOk=false", "code" : 13435 }
Ich bin sehr neu in Mongodb und repliziere, aber ich dachte, wenn ich etwas in einem mache, geht es in den anderen. Was muss ich tun, um maschinenübergreifend zu replizieren, wenn ich einen Datensatz in einen hinzufüge?