我想要在一台机器上启动elasticsearch服务,最初我打算使用pallet.actions.service来执行此操作,但文档显示,为了支持pallet.crate.service/service,该服务现在已被弃用。
但是,我找不到任何指南来使用它来简单地启动已经安装在节点上的initd服务。
下面是我第一次尝试使用旧的服务函数运行es节点。不幸的是,我也不能让它启动服务,它安装了elasticsearch,但没有运行服务。当我玩这个游戏的时候,我注意到它被弃用了:
(def elasticsearch-server
(server-spec
:extends [(javacrate/server-spec {})]
:phases
{:install (plan-fn
(add-es-source)
(package-manager :update)
(package "elasticsearch")
(service "elasticsearch" :action :start))}))发布于 2014-05-23 01:03:26
我不记得service除了为您提供一个惯用的服务接口之外是否做了其他事情,所以您可以使用exec-script*,这就是我在自己的代码中毫不费力地做的事情。事实上,我甚至使用Elasticsearch (在其他方面)和使用runit进行监督的服务来实现这一点。
(exec-script* "service elasticsearch start")也许当服务无法启动时,service在恢复方面做得更好?如果service elasticsearch start没有返回0,那么你的整个计划就会失败。
https://stackoverflow.com/questions/23802824
复制相似问题