Fragmentação do Mongodb - Script de inicialização para o processo mongos?

4

Estou executando o mongodb como um conjunto de réplicas e tentei recentemente migrar para um cluster fragmentado.

Uma coisa sobre a qual eu não tenho certeza é como eu deveria estar iniciando o processo do mongos. Anteriormente, eu havia usado o 10gen rpms ao instalar o mongodb, que instalou um script init.d para o serviço mongod. Eu gostaria de ter mongos correndo de forma semelhante, mas não tenho certeza sobre como eu deveria estar fazendo isso realmente. É um caso de escrever um script de inicialização personalizado?

Estou no Debian 6 e no Mongodb 2.4

[Eu já havia postado essa pergunta no grupo do google mongodb, mas estou copiando aqui porque não recebi nenhuma resposta. Também adicionarei qualquer resposta aqui

    
por UpTheCreek 22.04.2013 / 10:11

2 respostas

3

Você vinculou a solicitação oficial relevante para isso em sua resposta e O SERVIDOR-3748 explica alguns dos razões pelas quais estas não existem atualmente.

A razão mais básica é que você não pode iniciar mongos sem pelo menos um servidor de configuração estar ativo e funcionando, caso contrário, ele se recusará a iniciar, o que o torna um candidato inadequado para um script de inicialização (dependências externas). Geralmente, você deseja evitar ter serviços que falharão ao iniciar quando não houver uma boa maneira de verificar o motivo da falha.

No entanto, ainda seria vantajoso dar às pessoas um roteiro, em vez de modificá-las / escrevê-las, daí a questão de Jira existir.

A maneira que eu recomendaria fazer isso é basear qualquer script fora do script mongod init existente e simplesmente modificá-lo para substituir mongod por mongos quando apropriado. Aqui está a versão atual desse script para o Debian:

link

Coisas que você precisará mudar:

> DAEMON=/usr/bin/mongos
> DESC=mongos-router
> 
> NAME=mongos
> 
> CONF=/etc/mongos.conf 
> PIDFILE=/var/run/$NAME.pid 
> ENABLE_MONGODB=yes

A vantagem de fazer isso, depois de instalar o pacote 10gen, é que os usuários já estarão configurados e você terá o script mongod para referência no sistema.

Você precisará criar o arquivo de configuração com os valores apropriados para seus mongos, e pode haver algumas outras coisas que você precisa ajustar - a chave é testar antes de tornar qualquer coisa permanente.

Depois de confirmar, por meio de testes, que o script está funcionando como deseja, você poderá adicioná-lo permanentemente com update-rc.d

    
por 22.04.2013 / 15:31
0

Hmm, parece que há um ticket aberto solicitando apenas isso, então eu acho que não é fornecido oficialmente. Vou atualizar esta resposta se encontrar algum script contribuído pelo usuário ou escrever o meu próprio.

link

    
por 22.04.2013 / 10:54

Tags