Cree una copia del servicio mongodb, varios puertos en un servidor
Uno, crea un conjunto de réplicas
1. Crea una carpeta
C:\MongoDB\Server\bin> mkdir C:\MongoDB\mdb0
C:\MongoDB\Server\bin> mkdir C:\MongoDB\mdb1
C:\MongoDB\Server\bin> mkdir C:\MongoDB\mdb2
2. Cierre el puerto del servidor y
abra Windows PowerShell
como administrador. Los siguientes están abiertos como administrador . Cuando el servidor
no está cerrado, se iniciará como el servidor. En el cuarto paso, se produjo un error durante la inicialización de la configuración y el mensaje "Este nodo no se inició con la opción replSet" "
Reinicie desde el paso 2
C:\Windows\system32> net stop mongodb
3. Ejecute el servicio mongodb manualmente. Se deben ejecutar los tres puertos de servicio.
Abra un nuevo Windows PowerShell e ingrese al directorio de instalación. Ejecute el servicio (tres Shells independientes)
C:\MongoDB\Server\bin> ./mongod --replSet mdb --port 27017 --dbpath C:\MongoDB\mdb0 --smallfiles --oplogSize 128
C:\MongoDB\Server\bin> ./mongod --replSet mdb --port 27018 --dbpath C:\MongoDB\mdb1 --smallfiles --oplogSize 128
C:\MongoDB\Server\bin> ./mongod --replSet mdb --port 27019 --dbpath C:\MongoDB\mdb2 --smallfiles --oplogSize 128
La conexión del servidor debe estar en el estado correcto; de lo contrario, el proceso se termina (consulte los pasos de la operación) y se reinicia el servicio mongodb
4. Configure
New Shell para ingresar a mongo
C:\MongoDB\Server\bin> ./mongo --port 27017
rs.initiate () inicializa el objeto del conjunto de réplicas
MongoDB Enterprise > rs.initiate({_id:'mdb',members:[
... {_id:0,host:'127.0.0.1:27017'},
... {_id:1,host:'127.0.0.1:27018'},
... {_id:2,host:'127.0.0.1:27019'}]})
resultado
{
"ok" : 1,
"operationTime" : Timestamp(1576656206, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1576656206, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
Configure el nodo de réplica para que sea legible, ingrese mongo 27018, 27019 y ejecute respectivamente para obtener información
db.getMongo().setSlaveOk()
Ver el estado de la conexión
MongoDB Enterprise mdb:PRIMARY> rs.status()
Ver copia maestra
MongoDB Enterprise mdb:PRIMARY> db.isMaster()
Dos, aumenta el conjunto de réplicas
a) Cree una carpeta: C: \ MongoDB \ Server \ bin> mkdir C: \ MongoDB \ mdb3
b) Cree un servicio de apertura de puertos: New Windows Shell ./mongod --replSet mdb --port 27020 --dbpath C: \ MongoDB \ mdb3 --smallfiles --oplogSize 128
c) Aumentar el conjunto de réplicas: MongoDB Enterprise mdb: PRIMARY> rs.add ('127.0.0.1:27021')
3. Retire el conjunto de réplicas:
a) Cree un nuevo Shell de Windows, ingrese al nodo de réplica y desactive el servicio
C: \ MongoDB \ Server \ bin> ./mongo --port 27020
MongoDB Enterprise mdb: SECONDARY> use admin
MongoDB Enterprise mdb: SECONDARY> db.shutdownServer ()
b) Elimine el nodo correspondiente de
MongoDB Enterprise mdb: PRIMARY> rs.remove ('127.0.0.1:27020') del servidor principal
Modificar maestro-esclavo
a) Obtenga la configuración y modifique la prioridad para cambiar el peso de reconocimiento de negro
conf=rs.config()
conf.members[0].priority=10
conf.members[1].priority=5
conf.members[2].priority=1
rs.reconfig(conf)