Soy bastante nuevo en MongoDB y tengo la siguiente pregunta para el inicio del conjunto de réplicas.
Cuando traté de iniciar un conjunto de réplicas desde mongod independiente, probé:
> use admin > config = {id: "rs_name", members: [{id: 0, host: "127.0.0.1:27017"}]} > db.runCommand('replSetInitiate', config) "info2" : "no configuration specified. Using a default configuration for the set", "ok": 1 ...Aquí está la primera curiosidad: ¿Por qué mostró "sin configuración" cuando ya asigné "config" como configuración de conjunto de réplicas?
Aunque se fundó el conjunto de réplicas, cuando me cansé:
> use local > db.system.replset.find().pretty() ... "members": [ { "host": "here is hostname insted of host IP" } ...Aquí está el segundo punto que no obtuve: ¿Por qué la información de la réplica muestra el nombre del host en lugar de la IP del host como valor de la propiedad "host"?
Pero cuando probé de una manera diferente:
> use admin > config = {id: "rs_name", members: [{id: 0, host: "127.0.0.1:27017"}]} > rs.initiate(config)Funcionó bien y no dio ningún mensaje como "no se especificó ninguna configuración". La información de la réplica también mostró la IP del host en lugar del nombre del host.
Aquí está el último: ¿Cuál es la diferencia entre el mecanismo de replSetInitiate y rs.initiate cuando intentamos iniciar un conjunto de réplicas?
config = {id: "rs_name", miembros: [{id: 0, host: "127.0.0.1:27017"}]}
db.runCommand('replSetInitiate', config)
db.runCommand({replSetInitiate : config}) en su lugarAquí está el segundo punto que no obtuve: ¿Por qué la información de la réplica muestra el nombre del host en lugar de la IP del host como valor de la propiedad "host"?
When possible, use a logical DNS hostname instead of an ip address, particularly when configuring replica set members or sharded cluster members. . En el primer paso, no se no configuration specified. Using a default configuration for the set , la configuración predeterminada puede usar el nombre de host en lugar de la dirección IP.DE: https://docs.mongodb.com/manual/reference/command/replSetInitiate/
Siga a continuación y use _id que se resalta a continuación
use la configuración de administrador = { _id : "rs_name", miembros: [ { _id : 0, host: "IP: 27017"} ] }
rs.initiate(config)