J'ai essayé les ensembles de répliques mongo pour la première fois.
J'utilise ubuntu sur ec2 et j'ai démarré trois instances. J'ai utilisé l'adresse IP privée de chacune des instances. J'ai choisi la première comme primaire et voici le code.
mongo --host Private IP Address
rs.initiate()
rs.add(“Private IP Address”)
rs.addArb(“Private IP Address”)
Tout va bien à ce stade. Lorsque je me rends à la http://ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com:28017/_replSet site je vois que j'ai un primaire, un secondaire et un arbitre.
Ok, maintenant pour un test.
Sur le primaire créer une base de données dans ce qui est le code :
use tt
db.tt.save( { a : 123 } )
sur le secondaire, je fais alors ceci et j'obtiens l'erreur suivante :
db.tt.find()
error: { "$err" : "not master and slaveOk=false", "code" : 13435 }
Je suis très novice en matière de mongodb et de répliques, mais je pensais que si je faisais quelque chose dans l'un, cela allait dans l'autre. Donc, si j'ajoute un enregistrement dans l'un, que dois-je faire pour répliquer entre les machines ?