6

我刚刚在我的 linux 14.10 上切换到 systemd,现在我的弹性搜索服务无法正常启动

elasticsearch.service             loaded failed failed  

asystemctl status给了我以下信息:

elasticsearch.service - Starts and stops a single elasticsearch instance on this system
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled)
   Active: failed (Result: exit-code) since Mon 2015-04-13 23:23:54 CEST; 4s ago
     Docs: http://www.elasticsearch.org
  Process: 1227 ExecStart=/usr/share/elasticsearch/bin/elasticsearch -Des.default.config=$CONF_FILE -Des.default.path.home=$ES_HOME -Des.default.path.logs=$LOG_DIR -Des.default.path.data=$DATA_DIR -Des.default.path.work=$WORK_DIR -Des.default.path.conf=$CONF_DIR (code=exited, status=3)
 Main PID: 1227 (code=exited, status=3)

我在管理服务方面没有经验,而且我对 systemd 还很陌生,所以我不知道如何解决这个问题。

有人能指出我正确的方向吗?谢谢 !

4

2 回答 2

4

好吧,我通过删除 elasticsearch.service 文件、禁用服务并重新安装它来解决它:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
sudo /bin/systemctl start elasticsearch.service
于 2015-04-13T21:47:00.713 回答
1

解决问题的一种方法是运行以下类似于 systemd 执行的命令。通过这种方式,您将很快发现问题。对我来说,这是 java 路径。

sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch \ -Des.pidfile=/var/run/elasticsearch/elasticsearch.pid \ -Des.default.path.home=/usr/share/elasticsearch \ -Des. default.path.logs=/var/log/elasticsearch \ -Des.default.path.data=/var/lib/elasticsearch \ -Des.default.path.conf=/etc/elasticsearch

其中: no java in (/usr/sbin:/usr/bin:/sbin:/bin) 找不到任何可执行的 java 二进制文件。请在您的 PATH 中安装 java 或设置 JAVA_HOME

于 2016-08-22T13:04:52.963 回答