Ubuntuでサービスとして実行する/監視下で実行するには

Ubuntuでサービスとして実行する/監視下で実行するには

3つのクラスターが与えられました。1つはKafka、1つはstorm、そして1つは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/クックブック/

始めるのはそれほど難しくありません。参考にできる例はたくさんあります。

コメントにリンクされているチャットから、@MassSql にはバックグラウンドで実行されるサービス (おそらく停止した場合は監視/再起動する) があることがわかりました。そうであれば、よりシンプルでレガシーな RC スクリプト メカニズム (Upstart によって実装されていますが、起動時に開始してシャットダウン時に停止するだけの単純なタスク用のはるかにシンプルなインターフェイス) を使用できます。そのため、そのアプローチは次のとおりです。

  1. /etc/init.d に移動し、dns-clean のコピーを作成します (好きなように名前を変更します)。
  2. ファイルを編集します。INIT INFO説明を変更し、フィールドRequired-StartRequired-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

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

関連情報