如何在 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。新貴指南在這裡: 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 ||真的

測試-f /etc/ppp/ip-down.d/0dns-down ||出口0

  1. 更改區塊中的行start)以運行腳本。把 留;;在最後。

  2. Runupdate-rc.d foobar enable其中foobar是您的服務的名稱(應該是檔案的名稱以及Provides,至少按照慣例)。

重新啟動系統並進行測試。

相關內容