Vários Mongos em um servidor

11

Não estou falando de sharding . Nós tivemos um servidor testing (linux) e já existe um mongo que pertence a outro projeto / subequipe. É possível executar várias instâncias isoladas de mongodb em uma máquina? Como posso fazer isso?

    
por om-nom-nom 01.08.2011 / 11:52

2 respostas

14

Sim, você pode fazer isso especificando diferentes números de portas e diretórios de dados para as outras instâncias de mongod e, em seguida, especificando o novo número de porta no cliente.

Por exemplo:

./mongod --dbpath /foo/bar/otherpath --port some_other_port

Você pode também alterar o servidor shard e os números de porta do servidor de configuração, se necessário.     

por 01.08.2011 / 14:13
3

Os passos que tomei são:

  1. Copie o arquivo conf /etc/mongod.conf para o mongod2.conf e também para mongod3.conf
  2. Edite arquivos conf para ter portas diferentes e caminhos de banco de dados diferentes
  3. Copiar init.d start script /etc/init.d/mongod para mongod2 e também para mongod3
  4. Copiar mongod binário / usr / bin / mongod para / usr / bin / mongod2 e também para / usr / bin / mongod3
  5. 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:)

    
por 15.08.2012 / 20:27

Tags