Mik*_*son 2 centos apache-zeppelin
在下面,您将看到我的实际答案。(我正在发布此问题以传递答案。)我花了一段时间找到正确的答案,因此我在此处发布以可能加快其他可怜人的努力。
如果您查看Apache的站点(截至2018年1月),则会看到有关在Ubuntu OS上设置服务(例如,可以在启动,重新启动等时启动的守护程序)的说明。您会发现类似:
sudo service zeppelin start
sudo service zeppelin stop
sudo service zeppelin restart
但是,如果您按照该页面进行标准安装,则zeppelin在使用CentOS 7时,安装后默认情况下将没有注册的服务。也就是说,如果您键入类似的service zeppelin start服务,将找不到该服务。
此外,对于我正在使用的CentOS 7,已经朝着systemctl改为使用转变。但是尝试systemctl也没有用(zeppelin未找到)。
我可以直接执行调用,例如./bin/zeppelin-daemon.sh start,以正常工作。但这并没有提供我想要的解决方案。我想知道,如果计算机重新启动或其他任何操作,齐柏林飞艇将可用,因为它是在启动时启动的。
我认为“真相一定要存在”,但是搜索中的许多路径都没有帮助。
总而言之,我需要了解两个问题:
systemctl理想,service但仍然可以接受。zeppelin.service,也.service不会在CentOS中自动创建该文件(也许还不是* nix的所有非Ubuntu版本)。因此,请继续阅读该链接,但是这个故事的重要部分是我需要执行以下操作:
/etc/systemd/system/zeppelin.service从头开始创建文件。[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实例被设置为多用户,从服务器远程登录。如果您希望在重启后自动启动Zeppelin,则可能具有相同的用例。
zeppelin(要使用的Zeppelin软件的任何通用用户),这在InfoWorld链接中也有说明。Group=zeppelin:与上述相同。WorkingDirectory:与上述相同(创建用户zeppelin,在此处安装Zeppelin,yada,yada ...该链接包含有关步骤的更多信息)。ExecStart:这是关键线;您需要确保每次输入时service zeppelin start,它都指向该路径,即您输入的路径ExecStart。ExecStop:与上述相同。然后输入“ magic”的最后一位:
systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)
这是关键。source ~/.bash_profile如果有任何意义,它类似于键入。这是您要说的行,实际上是刷新所有守护程序。
最后,我建议明确键入
service zeppelin start
Run Code Online (Sandbox Code Playgroud)
以便您确定找到它。假设它实际上在执行某项操作(例如,您看到类似的东西,Zeppelin start [ OK ]或者Redirecting to /bin/systemctl start zeppelin.service……在任何情况下,您都知道service找到并工作了)。