如何在 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. 运行update-rc.d foobar enable其中foobar是您的服务名称(应该是文件的名称以及Provides,至少按照惯例)。

重新启动系统并进行测试。

相关内容