Inicia várias instâncias do serviço que não funcionam

3

Comecei a jogar com o MongoDB no Lucid. Agora eu gostaria de executar um servidor de banco de dados e configuração na mesma caixa. Ambos usam o mesmo binário para iniciar, mas com arquivos de configuração diferentes e rodando em portas diferentes. Todos os diretórios para log e lib são divididos, de modo que um vai para o mongodb e o outro para o mongoconf.

Cada processo pode ser iniciado sem problemas por conta própria.

start mongodb 
stop mongodb
start mongoconf
stop mongoconf

Mas se eu tentar começar os dois, o segundo apenas começa e sai. Usando o 'initctl log-priority debug' recebi o seguinte nos logs.

Jan  6 12:44:12 mongo4 init: event_finished: Finished started event
Jan  6 12:44:12 mongo4 init: job_process_handler: Ignored event 1 (1) for process 5690
Jan  6 12:44:12 mongo4 init: mongoconf (mongoconf) main process (5690) terminated with status 1
Jan  6 12:44:12 mongo4 init: mongoconf (mongoconf) goal changed from start to stop
Jan  6 12:44:12 mongo4 init: mongoconf (mongoconf) state changed from running to stopping

man 5 init mostra que você pode usar nomes de instâncias para diferenciar os dois. Eu tentei usar 'instance mongoconf' no script upstart e 'instance mongodb' no outro, e ele ainda falha. Eu posso iniciar manualmente o outro processo, então definitivamente não há conflitos em números de portas ou diretórios.

Alguma idéia sobre o que tentar ou como obter resultados sobre o motivo pelo qual ela é 'finalizada com o status 1'?

Thanx

    
por Dax 06.01.2011 / 11:51

2 respostas

2

Para os sysadmins intrépidos que encontram isso, o upstart não apenas testa os caminhos, parece testar que o inode é diferente. Isso significa que o link físico do arquivo também está fora de questão. a única maneira de executar o mesmo binário várias vezes é fazer várias cópias.

    
por 29.11.2011 / 20:43
0

Fazendo alguns testes, descobri que o upstart usa o caminho completo para o binário para ver se é o mesmo processo. Então, fazer uma cópia do binário em um local diferente permitirá que você crie dois scripts iniciantes.

    
por 26.01.2011 / 10:39