
Me han dado 3 grupos. Uno es de Kafka, otro es de tormenta y el otro es de ZooKeeper. Necesito hacerlo para que los servicios se inicien y, cuando se detengan, se inicien nuevamente como se describe en elguía de administración del cuidador del zoológico.
OS for every machine => Ubuntu-trusty 14.04
Platform => Running in Amazon EC2
Entonces, en resumen, necesito poder iniciar el servicio respectivo al inicio. Si el servicio se inicia, necesito que se reinicie. Necesito hacer esto para Storm, Kafka y Zookeeper. Y necesito que la respuesta sea simple y directa. Otra forma de hacer esta pregunta: ¿Cuál es la forma más fácil de lograr mis objetivos?
Respuesta1
El mecanismo de gestión de servicios para Ubuntu es Upstart. La guía Upstart está aquí: http://upstart.ubuntu.com/cookbook/
No es tan difícil ponerse en marcha. Hay muchos ejemplos que puedes citar.
Resulta (de nuestro chat vinculado en los comentarios) que @MassSql tiene servicios en segundo plano (y presumiblemente se monitorean/reinician si mueren). Dado que ese es el caso, puede usar el mecanismo de script RC más simple/heredado (que implementa Upstart, pero una interfaz mucho más simple para tareas más simples de simplemente iniciar cosas en el arranque y detenerlas al apagar). Así que aquí está ese enfoque:
- Vaya a /etc/init.d y haga una copia de dns-clean (cámbiele el nombre como desee).
- Edite el archivo. Cambie la
INIT INFO
sección modificando las descripciones y borrando los camposRequired-Start
yRequired-Stop
. Crea un nuevo nombre paraProvides
. (básicamente cambiar todo menosDefault-Start
) - Elimina estas líneas:
prueba -f /usr/sbin/pppconfig || salir 0
mkdir /var/run/pppconfig >/dev/null 2>&1 || verdadero
prueba -f /etc/ppp/ip-down.d/0dns-down || salir 0
Cambie las líneas en el
start)
bloque para ejecutar sus scripts. Deja el;;
al final.Ejecute
update-rc.d foobar enable
dondefoobar
está el nombre de su servicio (debe ser el nombre del archivo además delProvides
, al menos por convención).
Reinicie su sistema y pruebe.