No estoy hablando de fragmentación . Teníamos un servidor de prueba (Linux) y ya hay uno mongo
que pertenece a otro proyecto / sub-equipo. ¿Es posible ejecutar varias instancias, aislados de mongodb
en una máquina? ¿Cómo puedo hacerlo?
No estoy hablando de fragmentación . Teníamos un servidor de prueba (Linux) y ya hay uno mongo
que pertenece a otro proyecto / sub-equipo. ¿Es posible ejecutar varias instancias, aislados de mongodb
en una máquina? ¿Cómo puedo hacerlo?
Respuestas:
Sí, puede hacerlo especificando diferentes números de puerto y directorios de datos para las otras instancias de mongod
, y luego especificando el nuevo número de puerto en el cliente.
Por ejemplo:
./mongod --dbpath /foo/bar/otherpath --port some_other_port
También puede cambiar el servidor de fragmentos y los números de puerto del servidor de configuración si es necesario.
Los pasos que he tomado son:
Edite los scripts de inicio init.d y cambió lo siguiente:
CONFIGFILE = "/ etc / mongod2.conf" (mongod3.conf, respectivamente)
....
mongod = $ {MONGOD- / usr / bin / mongod2} (mongod3, respectivamente)
Reemplazado / var / lock / subsys / mongod con / var / lock / subsys / mongod2 (mongod3, respectivamente) donde lo encontré.
Resista la tentación de reemplazar mongod.lock con mongod2.lock (o mongod3.lock, respectivamente). Están en diferentes carpetas (las carpetas de la base de datos son diferentes) y no entrarán en conflicto.
Ahora puedo
service mongod start|stop|status
service mongod2 start|stop|status
service mongod3 start|stop|status
y también
mongo --port <port_number>
para cada instancia de mongo (recuerde la configuración del puerto de los archivos conf)
No conozco ningún efecto secundario de renombrar el binario mongod.
Espero que esto ayude.
[Edición posterior] Para iniciar las instancias automáticamente, solo ln -s /etc/init.d/mongod2 /etc/rc.d/rc3.d/S86mongod y ln -s /etc/init.d/mongod3 / etc / rc .d / rc3.d / S87mongod :)
Ubuntu 16.01
, no había init.d
scripts. ¿Puedes proporcionar init.d
contenido de script?