前提条件
Ubuntu です。
エラー例
以下のようにタイムアウトでエラーになります.
$ sudo service elasticsearch status ● elasticsearch.service - Elasticsearch Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled) Active: failed (Result: timeout) since Sun 2021-08-29 15:31:13 JST; 19s ago Docs: https://www.elastic.co Process: 1990 ExecStart=/usr/share/elasticsearch/bin/systemd-entrypoint -p ${PID_DIR}/elastic> Main PID: 1990 (code=exited, status=143)
結論
サービス開始スクリプト中の TimeoutStartSec
の値を十分に大きくする。
例
Elasticsearch の例です。/lib/systemd/system/elasticsearch.service
を編集します。
# Allow a slow startup before the systemd notifier module kicks in to extend the timeout # TimeoutStartSec=75 TimeoutStartSec=300
編集したあとはリロードします。
$ sudo systemctl daemon-reload
これで再起動後に十分な時間をもってサービスが起動するはずです。