当Elasticsearch无法启动时,其令人悲痛不已的原因
有什麼困擾嗎?
这是关于在引入Growi时,按照官方指南在Ubuntu上安装elasticsearch时发生的事情。
sudo systemctl start elasticsearch
执行了
Job for elasticsearch.service failed because the control process exited with error code.
See "systemctl status elasticsearch.service" and "journalctl -xe" for details.
我遇到了一个人。
只要谷歌一下,问题的解决办法就出来了,但是…
有关此错误的问答出现了,但是完全没有解决。
我认为这是有力的信息,来源是这里和这里。
然而,尽管我尝试了这种方法,但错误仍然没有改变,让我感到困惑。
错误的原因在哪里?
当我遇到上述错误时,我正在寻找更多细节,以便更好地理解问题,发现 journalctl 的 -u 选项可能会有所帮助。
journalctl -u elasticsearch.service
突然
encountered [2] errors parsing [/etc/elasticsearch/jvm.options]
[1] : encountered improperly formatted JVM option in [/etc/elasticsearch/jvm.options] on line number [31]: [-Xms512m]
[2] : encountered improperly formatted JVM option in [/etc/elasticsearch/jvm.options] on line number [32]: [-Xmx512m]
我看到了这些信息,并且已经知道原因是由于jvm.options中-Xms512m和-Xmx512m的设置所导致。
不过,由于我使用的是4GB的RAM,所以内存分配应该没有问题。我也怀疑有没有拼写错误,但是应该是正确的。我已经重新修改了相关部分,但问题依然没有解决。
當我的腦海中出現了「?」符號時,我意識到了一件事。
顺便提一下,当设置两个值时,我记得以前在开头加了一个空格。
我本以为可能是这样,所以进行了修正。
#修正前、先頭が半角スペース1マス分空いている
-Xms512m
-Xmx512m
#修正後、先頭のスペース分も詰める
-Xms512m
-Xmx512m
当再次执行时,之前立即出现的错误消息不再出现。然后等待几十秒后,进入下一个输入等待状态。
小心地确认状态
active
我感到开心,但同时不禁嘟囔了一句“噢,你这个人啊……”。
顺便提一下,我将elasticsearch停止并将jvm.options的相关部分修改还原后重新运行,结果再次遇到了错误信息。
最终结果
在我遇到的情况中,Elasticsearch无法启动的原因是由于空了一个空格的位置。
解决问题当然让人高兴,但我也尝到了一股神秘的失败感。
如果早点查看了jvm.options的格式,问题可能会更快解决。通过这次经历我学到了一些东西。