今天早上刚刚在虚拟机中安装了ElasticSearch 7.10,我注意到每次重新启动时,ElasticSearch服务都因超时而失败。
错误信息
截图:
完整日志:
Warning: The unit file, source configuration file or drop-ins of elasticsearch.service changed on disk. Run 'systemctl daemon-reload' to reload units.
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Tue 2020-12-08 09:18:55 CST; 24min ago
Docs: https://www.elastic.co
Process: 889 ExecStart=/usr/share/elasticsearch/bin/systemd-entrypoint -p ${PID_DIR}/elasticsearch.pid --quiet (code=killed, signal=TERM)
Main PID: 889 (code=killed, signal=TERM)
Tasks: 0 (limit: 3570)
CGroup: /system.slice/elasticsearch.service
Dec 08 09:17:40 terrylin systemd[1]: Starting Elasticsearch...
Dec 08 09:18:55 terrylin systemd[1]: elasticsearch.service: Start operation timed out. Terminating.
Dec 08 09:18:55 terrylin systemd[1]: elasticsearch.service: Failed with result 'timeout'.
Dec 08 09:18:55 terrylin systemd[1]: Failed to start Elasticsearch.
解决办法
修改 ElasticSearch 配置
编辑 ElasticSearch 服务的配置文件。
$ vi /usr/lib/systemd/system/elasticsearch.service
TimeoutStartSec
配置等待启动的时间。默认值为90秒,将此值增加到适当的值,在我的情况下,我将其设置为500。
保存该文件,然后重新加载 systemd 管理器配置。
$ systemctl daemon-reload
检查启动的超时值。
$ systemctl show elasticsearch | grep ^Timeout
TimeoutStartUSec=8min 20s
TimeoutStopUSec=infinity
现在,问题解决了。