DBAtlas · Veritabanı operasyon atlası

Rolling restart / rolling upgrade (düğüm düğüm, gereksiz shard taşımadan)

ElasticsearchCluster/Node

Komut

# 1) Replica allocation'i kapat (yalnizca primary'ler atanir):
PUT _cluster/settings
{
  "persistent": { "cluster.routing.allocation.enable": "primaries" }
}
# 2) Opsiyonel: indexing'i durdur ve flush ile recovery'yi hizlandir:
POST _flush
# 3) Bir dugumu durdur, bakimi yap, baslat; katildigini dogrula:
GET _cat/nodes?v&h=name,version,node.role,master,heap.percent
# 4) Allocation'i geri ac:
PUT _cluster/settings
{
  "persistent": { "cluster.routing.allocation.enable": null }
}
# 5) Siradaki dugume gecmeden green'i bekle:
GET _cluster/health?wait_for_status=green&timeout=10m

Ne yapar?

Bir düğüm kapalıyken replica'ların diğer düğümlere yeniden kopyalanmasını engelleyerek düğümleri tek tek yeniden başlatma veya yükseltme sırasını verir; düğüm döndüğünde shard'lar yerel kopyadan hızlı recovery yapar.

Ne zaman kullanılır?

OS patch, JVM/heap ayarı, elasticsearch.yml değişikliği veya minor/major sürüm yükseltmesi için düğümleri sırayla yeniden başlatırken.

Dikkat

Her düğümden sonra green'i beklemeden diğerine geçme; iki düğüm aynı anda kapalıyken bir shard'ın tüm kopyaları gidebilir. Master-eligible düğümleri en son ve tek tek yeniden başlat; çoğunluk kaybolursa cluster master seçemez. allocation.enable'ı geri açmayı unutursan replica'lar unassigned kalır. Upgrade'de önce data düğümleri (önce frozen/cold, en son hot), sonra master'lar yükseltilir.

DBAtlas'ta aç →

İlgili