DBAtlas · データベース運用アトラス

shard_lock_obtain_failed_exception: Obtaining shard lock timed out(シャードロックの取得がタイムアウト)

Elasticsearch

意味

Elasticsearch がシャードを操作するために必要なローカルディレクトリロック (shard lock) をタイムアウト内に取得できなかった。シャードを起動または再割り当てできなかった。

原因

同じシャードの以前のコピー (close/relocation 後) がまだロックを解放していない、遅い/ハングした I/O、ディスクの問題、またはノードの高速な再起動後にクリーンアップされていない古いシャード状態。通常は一時的だが、継続する場合シャードは UNASSIGNED のままとなる。

対処方法

シャードが未割り当ての理由を確認する: GET _cluster/allocation/explain。ほとんどの場合ロックはまもなく解放され、クラスタが自動的に再試行する。必要に応じて POST _cluster/reroute?retry_failed=true で再割り当てをトリガーする。継続する場合は、影響を受けたノードのログで I/O/ディスクエラーを調べ、ディスクの健全性を確認する。問題のノードをクリーンに再起動するとロックが解消されることがある。

DBAtlas で開く →

同じデータベースの他の項目