シャードサイズとシャード数を監査する (オーバーシャーディング / 過大なシャードの検出)
Elasticsearchメンテナンスコマンド
# Largest shards (GB):
GET _cat/shards?v&h=index,shard,prirep,state,docs,store,node&s=store:desc&bytes=gb
# Indices by primary size:
GET _cat/indices?v&h=index,pri,rep,docs.count,pri.store.size,store.size&s=pri.store.size:desc&bytes=gb
# Shard count and disk per node:
GET _cat/allocation?v&h=node,shards,disk.indices,disk.percent&s=shards:desc
GET _cluster/stats?filter_path=indices.shards.total,indices.shards.primaries,nodes.count.data
GET _cluster/settings?include_defaults=true&filter_path=*.cluster.max_shards_per_node概要
最大のシャード、インデックスのプライマリサイズ、ノードごとのシャード数、合計シャード数、cluster.max_shards_per_node の上限を一覧表示する。
使用する場面
キャパシティプランニング時、リカバリ時間が延びる場合やヒープの負荷が上がる場合、および 'this action would add [x] shards, but this cluster currently has [y]/[z] maximum normal shards open' エラーの発生時。
注意
非常に小さなシャードが多数あると (オーバーシャーディング)、master とヒープに負担がかかる。非常に大きなシャードは、リカバリとリバランスを数時間に引き延ばす。プライマリシャード数はインデックス作成後に変更できないため、修正には shrink、split、または reindex が必要。max_shards_per_node を引き上げると上限はなくなるが、問題は解決しない。