DBAtlas · Veritabanı operasyon atlası

Fazla shard'lı index'i küçült (shrink)

ElasticsearchIndex Yaşam Döngüsü

Komut

# 1) Kaynagi yazmaya kapat ve tum shard kopyalarini tek dugumde topla:
PUT log-2026.09/_settings
{
  "index.number_of_replicas": 0,
  "index.routing.allocation.require._name": "node-1",
  "index.blocks.write": true
}
GET _cluster/health/log-2026.09?wait_for_no_relocating_shards=true&timeout=30m
# 2) Daha az shard'li yeni index olustur (hedef sayi kaynagin bolenleri olmali):
POST log-2026.09/_shrink/log-2026.09-shrunk
{
  "settings": {
    "index.number_of_shards": 1,
    "index.number_of_replicas": 1,
    "index.routing.allocation.require._name": null,
    "index.blocks.write": null,
    "index.codec": "best_compression"
  }
}

Ne yapar?

Yazımı bitmiş bir index'in primary shard sayısını, segment'leri hard-link ile yeni index'e aktararak azaltır; heap ve shard sayısı yükünü düşürür.

Ne zaman kullanılır?

Günlük index'ler gereğinden fazla shard ile açıldığında, shard sayısı limitine yaklaşıldığında veya eski index'leri warm katmana taşımadan önce.

Dikkat

Kaynak index shrink boyunca yazmaya kapalıdır; yalnızca yazımı bitmiş index'lerde uygula. Hedef shard sayısı kaynak sayının böleni olmalıdır (8 -> 4, 2 veya 1). Tüm kopyaların toplandığı düğümde kaynak index kadar boş disk olmalıdır. Replica 0 iken kaynak shard'ın tek kopyası vardır; işlem bitip yeni index green olana kadar kaynağı silme.

DBAtlas'ta aç →

İlgili