Pengimbangan semula shard automatik sesuai dengan sekatan dan peraturan seperti penyaringan alokasi dan kesadaran paksa, yang membawa kepada kelompok yang paling efisien dan seimbang yang mungkin.
NOTA: Jangan mengelirukan penempatan semula pecahan, yang merupakan proses mencari dan memindahkan pecahan pecahan ke simpul di mana mereka berada, dengan penyeimbangan semula. Pengimbangan semula mengambil pecahan yang ditentukan dan memindahkannya secara merata ke pelbagai nod, tujuannya adalah pembahagian pecahan yang sama bagi setiap nod.
Cara Mengaktifkan Pengimbangan Semula Automatik
Untuk mengaktifkan pengimbangan semula kluster automatik di Elasticsearch, kita dapat menggunakan permintaan PUT to_cluster API endpoint dan menambahkan pengaturan yang kita perlukan.
Tetapan yang tersedia untuk pengimbangan semula pecahan dinamik termasuk:
- gugusan.penghalaan.keseimbangan semula.aktifkan: Mengawal pengimbangan semula automatik untuk pelbagai jenis pecahan, seperti:
- Semua: Set membolehkan pengimbangan semula shard untuk semua indeks.
- Tiada: Melumpuhkan keseimbangan shard untuk semua indeks.
- Replika: Hanya rebalance shard replika yang dibenarkan.
- Utama: Hanya pengimbangan semula shard primer yang dibenarkan.
- gugusan.penghalaan.peruntukan.allow_rebalance: Menetapkan nilai untuk pengimbangan semula shard. Pilihan termasuk:
- Sentiasa: Membolehkan pengimbangan semula tanpa had.
- Indeks_primari_aktif: Membolehkan pengimbangan semula hanya apabila semua pecahan utama dalam kluster diperuntukkan.
- Indeks_semua_aktif: Membolehkan pengimbangan semula apabila hanya pecahan dalam kelompok diperuntukkan. Ini merangkumi pelindung primer dan replika.
- gugusan.penghalaan.peruntukan.gugusan.serentak.keseimbangan semula: Pilihan ini menetapkan jumlah keseimbangan bersamaan yang dibenarkan dalam kluster. Nilai lalai adalah 2.
Pertimbangkan permintaan di bawah ini untuk membolehkan pengecilan pecahan automatik untuk kluster.
PUT / _cluster / tetapan"berterusan":
"gugusan.penghalaan.keseimbangan semula.aktifkan ":" primaries ",
"gugusan.penghalaan.peruntukan.allow_rebalance ":" selalu " ,
"gugusan.penghalaan.peruntukan.cluster_concurrent_rebalance ":" 2 "
Berikut adalah arahan cURL:
curl -XPUT "http: // localhost: 9200 / _cluster / setting" -H 'Content-Type: application / json' -d '"berterusan": "kluster.penghalaan.keseimbangan semula.aktifkan kluster ":" primaries ",".penghalaan.peruntukan.allow_rebalance ":" selalu "," kluster.penghalaan.peruntukan.cluster_concurrent_rebalance ":" 2 " 'Perintah ini harus mengembalikan respons kerana objek JSON mengakui tetapan yang dikemas kini.
"Diakui": benar,
"berterusan" :
"gugusan":
"penghalaan":
"keseimbangan semula":
"aktifkan": "pendahuluan"
,
"peruntukan":
"allow_rebalance": "selalu",
"cluster_concurrent_rebalance": "2"
,
"sementara":
Pengimbangan Semula Indeks Manual
Anda juga dapat mengimbangi pecahan secara manual untuk indeks tertentu. Saya tidak mengesyorkan pilihan ini kerana pilihan pengimbangan semula lalai Elasticsearch sangat efisien.
Namun, sekiranya timbul kebutuhan untuk melakukan pengimbangan ulang manual, Anda dapat menggunakan permintaan berikut:
"Diakui": benar,
"berterusan" :
"gugusan":
"penghalaan":
"keseimbangan semula":
"aktifkan": "primer"
,
"peruntukan":
"allow_rebalance": "selalu",
"cluster_concurrent_rebalance": "2"
,
"sementara":
Perintah cURL adalah:
curl -XPOST "http: // localhost: 9200 / _cluster / reroute" -H 'Content-Type: application / json' -d '"command": ["move": "index": "kibana_sample_data_flights", "shard": 0, "from_node": "instance-0000000001", "to_node": "instance-0000000002"] 'NOTA: Perlu diingat bahawa jika anda melakukan pengimbangan semula manual, Elasticsearch dapat menggerakkan pecahan secara automatik untuk memastikan keseimbangan yang terbaik.
Kesimpulannya
Panduan ini memandu anda mengemas kini dan mengubah tetapan untuk kluster Elasticsearch untuk membolehkan pengimbangan semula pecahan automatik. Artikel ini juga merangkumi pengimbangan semula manual, jika anda memerlukannya.