Cara menyiapkan redis untuk ketersediaan tinggi dengan sentinel di CentOS 8 - Bahagian 2

- 4029
- 937
- Chris Little I
Redis menyediakan ketersediaan tinggi melalui Redis Sentinel Sistem yang diedarkan. Sentinel membantu memantau Redis contoh, mengesan kegagalan dan akan melakukan suis peranan secara automatik dengan itu membolehkan a Redis penggunaan untuk menahan apa -apa jenis kegagalan.
Ia mempunyai pemantauan Redis contoh (tuan dan replika), menyokong pemberitahuan perkhidmatan/proses lain atau pentadbir sistem melalui skrip, failover automatik untuk mempromosikan replika kepada tuan apabila tuan turun dan memberikan konfigurasi kepada pelanggan untuk menemui tuan semasa yang menawarkan perkhidmatan tertentu.
Artikel ini menunjukkan cara menubuhkan Redis untuk ketersediaan tinggi dengan Redis Sentinel dalam Centos 8, termasuk mengkonfigurasi sentinel, memeriksa status persediaan dan menguji a Sentinel failover.
Prasyarat:
- Cara Menyiapkan Replikasi Redis (Dengan Mod Kluster Dilumpuhkan) di CentOS 8 - Bahagian 1
Persediaan Persekitaran Ujian
Pelayan induk dan sentinel1: 10.42.0.247 Redis Replica1 dan Sentinel2: 10.42.0.21 Redis Replica2 dan Sentinel3: 10.42.0.34

Mengikut Redis Sentinel dokumentasi, seseorang memerlukan sekurang -kurangnya tiga Sentinel contoh untuk penempatan yang mantap. Memandangkan kami ditetapkan di atas, jika tuan gagal, Sentinels2 dan Sentinel3 akan bersetuju dengan kegagalan dan akan dapat membenarkan failover, menjadikan operasi klien dapat meneruskan.
Langkah 1: Memulakan dan Membolehkan Perkhidmatan Redis Sentinel
1. Pada Centos 8, The Redis Sentinel perkhidmatan dipasang bersama Redis pelayan (yang sudah kami lakukan dalam persediaan replikasi Redis).
Untuk memulakan Redis perkhidmatan sentinel dan membolehkannya bermula secara automatik di boot sistem, gunakan yang berikut Systemctl Perintah. Juga, sahkan bahawa ia sudah selesai dan berjalan dengan menyemaknya status (Lakukan ini pada semua nod):
# Systemctl Mula Redis-Sentinel # Systemctl Dayakan Redis-Sentinel # Systemctl Status Redis-Sentinel

Langkah 2: Mengkonfigurasi Redis Sentinel pada semua nod Redis
2. Dalam bahagian ini, kami menerangkan cara mengkonfigurasi Sentinel Pada semua nod kami. The Sentinel Perkhidmatan mempunyai format konfigurasi yang sama seperti Redis pelayan. Untuk mengkonfigurasi, gunakan /etc/redis-sentinel.Conf Fail konfigurasi yang didokumentasikan sendiri.
Pertama, buat sandaran fail asal dan membukanya untuk mengedit.
# cp /etc /redis-sentinel.conf /etc /redis-sentinel.Conf.orig # vi /etc /redis-sentinel.Conf
3. Secara lalai, Sentinel mendengarkan port 26379, Sahkan ini pada semua keadaan. Perhatikan bahawa anda mesti meninggalkan mengikat parameter mengulas (atau ditetapkan ke 0.0.0.0).
pelabuhan 26379

4. Seterusnya, beritahu Sentinel untuk memantau kami tuan, dan untuk menganggapnya dalam "Objektif ke bawah"Nyatakan hanya jika sekurang -kurangnya 2 sentinel kuorum setuju. Anda boleh menggantikan "mymaster"Dengan nama tersuai.
#On Server Master dan Sentinel1 Sentinel Monitor MyMaster 127.0.0.1 6379 2 #on Replica1 dan Sentinel2 Sentinel Monitor MyMaster 10.42.0.247 6379 2 #on Replica1 dan Sentinel3 Sentinel Monitor MyMaster 10.42.0.247 6379 2

Penting: Penyata monitor sentinel mesti diletakkan sebelum sentinel Auth-Pass pernyataan untuk mengelakkan kesilapan "Tidak ada tuan dengan nama yang ditentukan."Semasa memulakan semula perkhidmatan Sentinel.
5. Jika Redis Master to Monitor mempunyai set kata laluan (dalam kes kami, tuannya), berikan kata laluan supaya contoh sentinel dapat mengesahkan dengan contoh yang dilindungi.
sentinel auth-pass mymaster [dilindungi e-mel]

6. Kemudian tetapkan bilangan milisaat tuan (atau mana -mana replika atau sentinel yang dilampirkan) harus tidak dapat dicapai untuk mempertimbangkannya dalam "Subjek ke bawah"Negeri.
Konfigurasi berikut bermaksud bahawa tuan akan dianggap gagal sebaik sahaja kami tidak menerima apa -apa jawapan dari ping kami dalam masa 5 saat (1 saat bersamaan dengan 1000 milisaat).
sentinel turun-selepas-milliseconds mymaster 5000

7. Seterusnya, tetapkan tamat tempoh failover dalam milisaat yang mentakrifkan banyak perkara (baca dokumentasi parameter dalam fail konfigurasi).
sentinel failover-timeout mymaster 180000

8. Kemudian tetapkan bilangan replika yang boleh dikonfigurasikan untuk menggunakan tuan baru selepas failover pada masa yang sama. Oleh kerana kita mempunyai dua replika, kita akan menetapkan satu replika kerana yang lain akan dinaikkan pangkat menjadi tuan baru.
sentinel selari-syncs mymaster 1

Perhatikan bahawa fail konfigurasi di Redis Replica1 dan Sentinel2, dan Reddis Replica1 dan Sentinel2 harus sama.
9. Seterusnya, mulakan semula Sentinel perkhidmatan pada semua nod untuk menggunakan perubahan baru -baru ini.
# Systemctl Mulakan semula Redis-Sentinel
10. Seterusnya, Buka Pelabuhan 26379 di firewall pada semua nod untuk membolehkan Sentinel contoh untuk mula bercakap, terima sambungan dari yang lain Sentinel contoh, menggunakan firewall-cmd.
# firewall-cmd --Zone = public --permanent --add-port = 26379/tcp # firewall-cmd--reload
11. Semua replika akan ditemui secara automatik. Yang penting, Sentinel akan mengemas kini konfigurasi secara automatik dengan maklumat tambahan mengenai replika. Anda boleh mengesahkannya dengan membuka Sentinel fail konfigurasi untuk setiap contoh dan melihatnya.
Contohnya, apabila anda melihat akhir fail konfigurasi tuan, anda harus melihat diketahui-sentinel dan Dikenali-Replica pernyataan seperti yang ditunjukkan dalam tangkapan skrin berikut.

Ia mestilah kes yang sama replika1 dan replika2.


Perhatikan bahawa Sentinel Konfigurasi juga ditulis semula/dikemas kini setiap kali replika dipromosikan ke status induk semasa failover dan setiap kali sentinel baru ditemui dalam persediaan.
Langkah 3: Periksa status persediaan Redis Sentinel
12. Sekarang periksa Sentinel status/maklumat mengenai tuan, menggunakan Maklumat Sentinel perintah seperti berikut.
# redis -cli -p 26379 maklumat sentinel
Dari output arahan seperti yang dilihat di tangkapan skrin berikut, kami mempunyai dua replika/hamba dan tiga sentinel.

13. Untuk menunjukkan maklumat terperinci mengenai tuan (Dipanggil mymaster), menggunakan Sentinel Master perintah.
# redis -cli -p 26379 sentinel master mymaster

14. Untuk menunjukkan maklumat terperinci mengenai budak dan sentinel, menggunakan Hamba Sentinel perintah dan Sentinel Sentinels perintah masing -masing.
# redis -cli -p 26379 sentinel hamba mymaster # redis -cli -p 26379 sentinel sentinels mymaster
15. Seterusnya, tanya alamat tuan dengan nama dari contoh hamba menggunakan Sentinel Get-Master-Addr-by-Name perintah seperti berikut.
Output mestilah alamat IP dan pelabuhan contoh induk semasa:
# redis-cli -p 26379 sentinel get-master-addr-by-name MyMaster

Langkah 4: Uji failover sentinel
16. Akhirnya, mari kita uji failover automatik di kami Sentinel Persediaan. Pada Redis/Sentinel Guru, buat Redis Master (Berlari di Port 6379) untuk tidur untuk 60 saat. Kemudian tanya alamat tuan semasa pada replika/budak seperti berikut.
# redis -cli -p 6379 127.0.0.1: 6379> AUTH [E -mel dilindungi] 127.0.0.1: 6379> tidur debug 60 # redis-cli -p 26379 sentinel get-master-addr-by-name mymaster # redis-cli -p 26379 sentinel get-master-addr-name mymaster
Dari output untuk pertanyaan, tuan baru sekarang replika/hamba2 dengan alamat IP 10.42.0.34 Seperti yang dilihat dalam tangkapan skrin berikut.

Anda boleh mendapatkan lebih banyak maklumat dari dokumentasi Redis Sentinel. Tetapi jika anda mempunyai sebarang pemikiran untuk berkongsi atau pertanyaan, borang maklum balas di bawah adalah pintu masuk anda kepada kami.
Di bahagian seterusnya dan terakhir siri ini, kami akan melihat bagaimana untuk menubuhkan redis cluster di CentOS 8. Ia akan menjadi artikel bebas dari dua yang pertama.
- « Cara Memasang Pelayan Lampu di CentOS 8
- Gunakan pandangan untuk memantau Linux Jauh dalam mod pelayan web »