
Recebi 3 clusters. Um é de Kafka, um é de tempestade e o outro é de ZooKeeper. Preciso fazer com que os serviços iniciem e quando parados, iniciem novamente conforme descrito noGuia de administração do Zookeeper.
OS for every machine => Ubuntu-trusty 14.04
Platform => Running in Amazon EC2
Então, para recapitular, preciso poder iniciar o respectivo serviço na inicialização. Se o serviço for iniciado, preciso que ele seja reiniciado. Preciso fazer isso para Storm, Kafka e Zookeeper. E preciso que a resposta seja simples e direta. Outra maneira de fazer esta pergunta: Qual é a maneira mais fácil de atingir meus objetivos?
Responder1
O mecanismo de gerenciamento de serviço para Ubuntu é o Upstart. O guia Upstart está aqui: http://upstart.ubuntu.com/cookbook/
Não é tão difícil seguir em frente. Existem muitos exemplos que você pode usar.
Acontece (do nosso bate-papo vinculado nos comentários) que @MassSql possui serviços em segundo plano (e presumivelmente monitoram/reiniciam se morrerem). Sendo esse o caso, ele pode usar o mecanismo de script RC mais simples/legado (que é implementado pelo Upstart, mas uma interface muito mais simples para tarefas mais simples de apenas iniciar as coisas na inicialização e interrompê-las no desligamento). Então aqui está essa abordagem:
- Vá para /etc/init.d e faça uma cópia do dns-clean (renomeie-o como desejar).
- Edite o arquivo. Altere a
INIT INFO
seção alterando as descrições e limpando os camposRequired-Start
eRequired-Stop
. Crie um novo nome paraProvides
. (basicamente mudar tudo, menosDefault-Start
) - Exclua estas linhas:
teste -f /usr/sbin/pppconfig || saída 0
mkdir /var/run/pppconfig >/dev/null 2>&1 || verdadeiro
teste -f /etc/ppp/ip-down.d/0dns-down || saída 0
Altere as linhas do
start)
bloco para executar seus scripts. Deixe o;;
no final.Execute
update-rc.d foobar enable
ondefoobar
está o nome do seu serviço (deve ser o nome do arquivo e também oProvides
, pelo menos por convenção).
Reinicie seu sistema e teste.