gpt4 book ai didi

centos - 我如何将 Zeppelin 设置为 CentOS 上启动服务的一部分?

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:15 26 4
gpt4 key购买 nike

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

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


Apache Zeppelin Install Only Explain Ubuntu Case

如果你查看 Apache's site (截至 2018 年 1 月),您将看到在 Ubuntu 操作系统上设置服务(例如,您可以在启动、重启等时启动的守护进程)的说明。你会发现类似的东西:

sudo service zeppelin start<br/>
sudo service zeppelin stop<br/>
sudo service zeppelin restart

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

此外,对于我正在使用的 CentOS 7,有一个 shift towards using systemctl instead .但是尝试systemctl也没有用(未找到 zeppelin)。


Zeppelin 本身工作正常,唯一的问题是“自动启动”

我可以获得直接的可执行调用,例如 ./bin/zeppelin-daemon.sh start , 工作正常。但这并没有提供我想要的解决方案。我想知道如果机器重新启动或发生其他任何事情,Zeppelin 将可用,因为它会在启动时启动。

最佳答案

具有挑战性的搜索

我认为“真相一定在那里”,但我搜索的许多路径都没有帮助。

然而,this link from InfoWorld成功了。


关键问题

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

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

[单位]
Description=运行 Zeppelin 守护进程的服务
文档=
[服务]
用户=飞艇
组=飞艇
类型= fork
工作目录=/home/zeppelin
ExecStart=/home/zeppelin/zeppelin-current/bin/zeppelin-daemon.sh 启动
ExecStop=/home/zeppelin/zeppelin-current/bin/zeppelin-daemon.sh 停止
[安装]
WantedBy=多用户.target


一些细节

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

  • User=zeppelin:在这种情况下,Zeppelin 实例被设置为多用户,从服务器远程登录。如果您希望 Zeppelin 在重新启动时自动启动,您可能有相同的用例。
    • 因此,您“应该”创建一个用户 zeppelin(Zeppelin 软件使用的任何通用用户),这在 InfoWorld 链接中有解释,但是 also here .
  • Group=zeppelin:同上。
  • WorkingDirectory:与上面相同(创建用户 zeppelin,在那里安装 Zeppelin,yada,yada...该链接包含有关步骤的更多信息)。
  • 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... 在任何一种情况下,您知道 服务 已找到并正常工作)。

关于centos - 我如何将 Zeppelin 设置为 CentOS 上启动服务的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48273579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com