我怎样才能将齐柏林飞艇设置为 CentOS 启动服务的一部分?



OP 下面的答案(希望对社区有所帮助)

下面你会看到我的实际答案。 (我发布这个问题是为了传递答案。 我花了一段时间才找到正确的答案,所以我在这里发帖,可能会加快其他可怜灵魂的努力。


Apache Zeppelin 安装仅解释 Ubuntu 案例

如果您查看 Apache 的网站(截至 2018 年 1 月),您将看到在 Ubuntu OS 上设置服务的说明(例如,您可以在启动、重启时启动的守护进程等)。 你会发现类似这样的内容:

sudo service zeppelin start
sudo service zeppelin stop
sudo service zeppelin restart

但是,如果你按照该页面进行标准安装,则在使用 CentOS 7 时,安装后默认没有注册zeppelin服务。也就是说,如果您键入类似service zeppelin start的内容,则找不到该服务。

此外,对于我正在使用的 CentOS 7,有一个转向使用systemctl的转变。但是尝试systemctl也没有奏效(没有找到zeppelin)。


齐柏林飞艇本身工作正常,只有"自动启动"的问题

我可以让直接的可执行调用,例如,./bin/zeppelin-daemon.sh start,正常工作。 但这并没有提供我想要的解决方案。 我希望能够知道,如果机器重新启动或其他任何东西,齐柏林飞艇将可用,因为它在启动时启动。

具有挑战性的搜索

我想"真相一定在那里",但我寻找的许多路径都没有帮助。

然而,这个来自InfoWorld的链接起到了作用。


关键问题

总之,我需要了解两个问题:

  1. 在 CentOS 7 中,虽然systemctl是理想的,但service仍然是可以接受的。
  2. 无论出于何种原因,zeppelin.service文件都不会在 CentOS 中自动创建(也许是所有非 Ubuntu 风格的 *nix?),即使标准的.service文件可以正常工作。 因此,请继续阅读该链接,但这个故事的重要部分是我需要执行以下操作:
    1. 从头开始创建/etc/systemd/system/zeppelin.service文件。
    2. 在该文件中,放置以下内容:

[Unit] Description=Service to run Zeppelin Daemon Documentation= [Service] User=zeppelin Group=zeppelin Type=forking WorkingDirectory=/home/zeppelin ExecStart=/home/zeppelin/zeppelin-current/bin/zeppelin-daemon.sh start ExecStop=/home/zeppelin/zeppelin-current/bin/zeppelin-daemon.sh stop [Install] WantedBy=multi-user.target


一些细节

以上大部分内容可能是不言而喻的(链接的文章并没有过多地解释细节),但这里有一个细分:

  • User=zeppelin:在这种情况下,齐柏林飞艇实例被设置为多用户,从服务器远程登录。 如果您希望在重新启动时自动启动齐柏林飞艇,您可能具有相同的用例。
    • 因此,您"应该"创建一个用户zeppelin(齐柏林飞艇软件要使用的任何通用用户),这在 InfoWorld 链接中进行了解释,但也在这里。
  • Group=zeppelin: 同上。
  • WorkingDirectory:同上(创建一个用户zeppelin,在那里安装齐柏林飞艇,亚达,亚达...该链接包含有关步骤的详细信息)。
  • ExecStart:这是关键行;您需要确保每当您输入service zeppelin start时,它都指向此路径,即您放入ExecStart的路径。
  • ExecStop: 与上述想法相同。

注册新服务

那么最后一点"魔术"是输入:

systemctl daemon-reload

这是关键位。 这类似于键入source ~/.bash_profile如果这意味着什么。 这是您实际上所说的刷新所有守护程序的行。

最后,我建议显式键入

service zeppelin start

这样你就可以确定它被找到。 假设它确实做了一些事情(例如,你看到类似Zeppelin start [ OK ]的东西,否则Redirecting to /bin/systemctl start zeppelin.service......无论哪种情况,您都知道service已找到并工作)。

最新更新