Os passos que tomei são:
- Copie o arquivo conf /etc/mongod.conf para o mongod2.conf e também para mongod3.conf
- Edite arquivos conf para ter portas diferentes e caminhos de banco de dados diferentes
- Copiar init.d start script /etc/init.d/mongod para mongod2 e também para mongod3
- Copiar mongod binário / usr / bin / mongod para / usr / bin / mongod2 e também para / usr / bin / mongod3
-
Edite os scripts init.d start e altere o seguinte:
CONFIGFILE="/etc/mongod2.conf" (mongod3.conf, respectivamente)
....
mongod = $ {MONGOD- / usr / bin / mongod2} (mongod3, respectivamente)
Substitui / var / lock / subsys / mongod por / var / lock / subsys / mongod2 (mongod3, respectivamente) onde quer que eu o encontre.
Resista à tentação de substituir o mongod.lock pelo mongod2.lock (ou pelo mongod3.lock, respectivamente). Eles estão em pastas diferentes (as pastas do banco de dados são diferentes) e não entram em conflito.
Agora posso
service mongod start|stop|status
service mongod2 start|stop|status
service mongod3 start|stop|status
e também
mongo --port <port_number>
para cada instância do mongo (lembre-se das configurações de porta dos arquivos conf)
Eu não estou ciente de nenhum efeito colateral de renomear o binário mongod.
Espero que isso ajude.
[editar mais tarde]
Para iniciar as instâncias automaticamente, apenas ln -s /etc/init.d/mongod2 /etc/rc.d/rc3.d/S86mongod e ln -s /etc/init.d/mongod3 /etc/rc.d/rc3 .d / S87mongod:)