Ubuntuでサービス/監督として実行する方法

Ubuntuでサービス/監督として実行する方法

3つのクラスタが割り当てられました。 1つはKafka、1つはStorm、1つはZooKeeperです。サービスが開始および停止したら、再起動するようにこれを行う必要があります。飼育士管理ガイド

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

要約すると、起動時にそのサービスを開始できる必要があります。サービスが開始したら、再起動する必要があります。 Storm、Kafka、Zookeeperに対してこれを行う必要があります。シンプルで直接的な答えが必要です。この質問をする別の方法は次のとおりです。私の目標を達成する最も簡単な方法は何ですか?

答え1

Ubuntuのサービス管理メカニズムは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

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

  1. start)スクリプトを実行するには、ブロックの行を変更してください。;;最後に保存してください。

  2. 実行update-rc.d foobar enable場所はfoobarサービス名です(Provides少なくとも慣例に従ってファイル名も同じでなければなりません)。

システムを再起動してテストします。

関連情報