我刚刚在linux 14.10上切换到systemd,现在我的弹性搜索服务无法正常启动
elasticsearch.service loaded failed failed
systemctl 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很陌生,所以我不知道如何解决这个问题。
有人能指出我正确的方向吗? 谢谢!
答案 0 :(得分:3)
好吧,我通过删除elasticsearch.service文件解决了这个问题,禁用了服务并重新安装了这个:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
sudo /bin/systemctl start elasticsearch.service
答案 1 :(得分: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
其中:没有java in(/ usr / sbin:/ usr / bin:/ sbin:/ bin)找不到任何 可执行的java二进制请在PATH中安装java或设置 JAVA_HOME