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

vlurs2pr  于 8个月前  发布在  其他
关注(0)|答案(1)|浏览(52)

OP回答如下(希望对社区有所帮助)

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

Apache Zeppelin安装仅解释Ubuntu案例

如果您查看Apache's site(截至2018年1月),您将看到在Ubuntu OS上设置服务的说明(例如,您可以在启动,重新启动等时启动的守护程序)。你会发现类似这样的东西:
sudo service zeppelin start sudo service zeppelin stop sudo service zeppelin restart
但是,如果您按照该页面进行标准安装,则在使用CentOS 7时,在安装后默认情况下没有注册zeppelin服务。也就是说,如果您键入类似service zeppelin start的内容,则无法找到该服务。
此外,对于我正在使用的CentOS 7,有一个shift towards using systemctl instead。但是尝试systemctl也不起作用(找不到zeppelin)。

齐柏林飞艇本身运行良好,只是“自动启动”有问题

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

wtlkbnrh

wtlkbnrh1#

搜索引擎

我想“真相一定就在那里”,但我搜索的许多路径都没有帮助。
但是,this link from InfoWorld做到了。

关键问题

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

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示例被设置为多用户,从服务器远程登录。如果你想在重启时自动启动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.在这两种情况下,你知道service被发现和工作).

相关问题