우분투에서 서비스로 실행/감독 하에 실행하는 방법

우분투에서 서비스로 실행/감독 하에 실행하는 방법

3개의 클러스터가 주어졌습니다. 하나는 Kafka, 하나는 Storm, 하나는 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-StartRequired-StopProvidesDefault-Start
  3. 다음 줄을 삭제하세요.

테스트 -f /usr/sbin/pppconfig || 0번 출구

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

test -f /etc/ppp/ip-down.d/0dns-down || 0번 출구

  1. start)스크립트를 실행하려면 블록 의 줄을 변경하세요 . ;;마지막에 남겨주세요 .

  2. 실행 update-rc.d foobar enable위치는 foobar서비스 이름입니다( Provides적어도 관례에 따라 파일 이름과 이어야 함).

시스템을 재부팅하고 테스트하십시오.

관련 정보