Как в Ubuntu запустить как службу / запустить под наблюдением

Как в Ubuntu запустить как службу / запустить под наблюдением

Мне дали 3 кластера. Один из Kafka, один из Storm и один из ZooKeeper. Мне нужно сделать так, чтобы службы запускались и при остановке запускались снова, как описано вZookeeper руководство администратора.

OS for every machine => Ubuntu-trusty 14.04
Platform => Running in Amazon EC2 

Итак, подведем итог: мне нужно иметь возможность запустить соответствующую службу при запуске. Если служба запускается, мне нужно, чтобы она перезапускалась. Мне нужно сделать это для Storm, Kafka и Zookeeper. И мне нужно, чтобы ответ был простым и прямым. Другой способ задать этот вопрос: какой самый простой способ достичь моих целей?

решение1

Механизм управления службами для Ubuntu — Upstart. Руководство по Upstart здесь: http://upstart.ubuntu.com/cookbook/

Не так уж и сложно начать. Есть много примеров, которые можно срисовать.

Оказывается (из нашего чата, ссылка на который есть в комментариях), что у @MassSql есть службы, которые работают в фоновом режиме (и, предположительно, отслеживают/перезапускают себя в случае смерти). Учитывая это, он может использовать более простой/устаревший механизм RC-скриптов (который реализован в Upstart, но имеет гораздо более простой интерфейс для более простых задач, таких как запуск чего-либо при загрузке и остановка при завершении работы). Итак, вот этот подход:

  1. Перейдите в /etc/init.d и сделайте копию dns-clean (переименуйте ее по своему усмотрению).
  2. Отредактируйте файл. Измените INIT INFOраздел, изменив описания и очистив поля Required-Startи Required-Stop. Создайте новое имя для Provides. (в основном измените все, кроме Default-Start)
  3. Удалите эти строки:

тест -f /usr/sbin/pppconfig || выход 0

mkdir /var/run/pppconfig >/dev/null 2>&1 || true

тест -f /etc/ppp/ip-down.d/0dns-down || выход 0

  1. Измените строки в start)блоке для запуска ваших скриптов. Оставьте ;;в конце.

  2. Запустите, update-rc.d foobar enableгде foobar— имя вашей службы (должно быть именем файла, а также расширением Provides, по крайней мере, по соглашению).

Перезагрузите систему и проверьте.

Связанный контент