Question

j'utilise mtools pour lancer un jeu de répliques avec 3 nœuds (mlaunch --replicaset) sur les ports 27017, 27018 et 27019.

Cependant, j'ai du mal à me connecter au jeu de répliques à l'aide de Dial du paquet mgo.L'extrait de code ci-dessous panique avec le message no reachable servers:

type Person struct {
    Name   string `bson:"name"`
    Age    int    `bson:"age"`
}

func main() {
    session, err := mgo.Dial("localhost:27017,localhost:27018,localhost:27019")
    if err != nil {
            panic(err)
    }
    c := session.DB("mydb").C("testCollection")
    c.Insert(&Person{Name: "Foo", Age: 20})
}

Comment se connecter exactement à un jeu de réplicas à l’aide du package mgo ?

Était-ce utile?

La solution

Tu dois courir rs.initiate() pour terminer la configuration initiale du jeu de réplicas.Cela lancera un jeu de réplicas à un membre.Vous courez ensuite rs.add() avec les paramètres corrects pour vos hôtes afin de mettre les autres membres en ligne.

Voici un tutoriel sur le processus :

http://docs.mongodb.org/manual/tutorial/deploy-replica-set/

Généralement, c'est une bonne idée que chaque fois que vous rencontrez des problèmes pour exécuter quelque chose sur mongodb à partir du code, essayez de vous connecter et de faire la même chose via le shell mongo - cela peut vous faire gagner beaucoup de temps et d'efforts.

Pour redémarrer ce processus à l'aide de mlaunch, vous devez l'exécuter de cette façon :

mlaunch --init --replicaset

Cela initialisera et lancera un jeu de répliques à 3 nœuds nommé "replset".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top