DBAtlas · Атлас эксплуатации баз данных

Аудит размеров и числа шардов (выявление oversharding / слишком больших шардов)

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.

Когда использовать

При планировании мощностей, когда растёт время восстановления или давление на heap, и при ошибке 'this action would add [x] shards, but this cluster currently has [y]/[z] maximum normal shards open'.

Внимание

Много очень маленьких шардов (oversharding) нагружает master и heap; очень большие шарды растягивают восстановление и перебалансировку на часы. Число первичных шардов нельзя изменить после создания индекса; для исправления нужен shrink, split или reindex. Повышение max_shards_per_node снимает лимит, но проблему не решает.

Открыть в DBAtlas →

Связанные материалы