Cara Mengatur Redis untuk Ketersediaan Tinggi dengan Sentinel di Centos 8 - Bagian 2

Cara Mengatur Redis untuk Ketersediaan Tinggi dengan Sentinel di Centos 8 - Bagian 2

Redis Memberikan ketersediaan tinggi melalui Redis Sentinel Sistem Terdistribusi. Penjaga membantu memantau Redis instance, mendeteksi kegagalan dan akan melakukan sakelar peran secara otomatis sehingga memungkinkan a Redis Penempatan untuk menolak segala jenis kegagalan.

Fitur pemantauan Redis Instance (Master dan Replicas), mendukung pemberitahuan layanan/proses lain atau administrator sistem melalui skrip, failover otomatis untuk mempromosikan replika ke master ketika master turun dan menyediakan konfigurasi bagi klien untuk menemukan master saat ini yang menawarkan layanan tertentu.

Artikel ini menunjukkan cara mengatur Redis untuk ketersediaan tinggi dengan Redis Sentinel di dalam Centos 8, termasuk mengkonfigurasi sentinel, memeriksa status pengaturan dan menguji a Penjaga failover.

Prasyarat:

  1. Cara Mengatur Replikasi Redis (dengan mode cluster dinonaktifkan) di Centos 8 - Bagian 1

Pengaturan Lingkungan Uji

Master Server dan Sentinel1: 10.42.0.247 Redis Replica1 dan Sentinel2: 10.42.0.21 Redis Replica2 dan Sentinel3: 10.42.0.34 
Redis Sentinel Mengatur Diagram Logis

Menurut Redis Sentinel dokumentasi, seseorang membutuhkan setidaknya tiga Penjaga contoh untuk penyebaran yang kuat. Mempertimbangkan pengaturan kami di atas, jika menguasai gagal, Sentinels2 Dan Sentinel3 akan setuju tentang kegagalan dan akan dapat mengizinkan failover, membuat operasi klien dapat melanjutkan.

Langkah 1: Memulai dan Mengaktifkan Redis Sentinel Service

1. Pada Centos 8, itu Redis Sentinel Layanan dipasang di samping Redis server (yang sudah kami lakukan dalam pengaturan replikasi redis).

Untuk memulai Redis Layanan Sentinel dan mengaktifkannya untuk secara otomatis mulai dari boot sistem, gunakan yang berikut ini Systemctl perintah. Juga, konfirmasi bahwa itu sedang berjalan dan berjalan dengan memeriksanya status (Lakukan ini pada semua node):

# Systemctl Mulai Redis-Sentinel # Systemctl Mengaktifkan Redis-Sentinel # Systemctl Status Redis-Sentinel 
Mulai Layanan Redis Sentinel

Langkah 2: Mengkonfigurasi Redis Sentinel pada semua node Redis

2. Di bagian ini, kami menjelaskan cara mengkonfigurasi Penjaga di semua node kami. Itu Penjaga Layanan memiliki format konfigurasi yang sama dengan Redis server. Untuk mengonfigurasinya, gunakan /etc/redis-sentinel.conf File konfigurasi yang didokumentasikan sendiri.

Pertama, buat cadangan file asli dan buka untuk diedit.

# cp /etc /redis-sentinel.conf /etc /redis-sentinel.conf.Orig # vi /etc /redis-sentinel.conf 

3. Secara default, Sentinel mendengarkan port 26379, Pastikan ini di semua contoh. Perhatikan bahwa Anda harus meninggalkan mengikat Parameter dikomentari (atau diatur ke 0.0.0.0).

Port 26379 
Atur antarmuka dan port Sentinel Listen

4. Selanjutnya, katakan Penjaga untuk memantau kami menguasai, dan untuk mempertimbangkannya di “Secara obyektif turun"Nyatakan hanya jika setidaknya 2 penjaga kuorum setuju. Anda bisa mengganti "Tuanku"Dengan nama khusus.

#On Master Server 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 
Setel Redis Master untuk memantau

Penting: Pernyataan Monitor Sentinel harus ditempatkan di hadapan Sentinel auth-pass pernyataan untuk menghindari kesalahan "Tidak ada master seperti itu dengan nama yang ditentukan.”Saat memulai kembali Layanan Sentinel.

5. Jika Redis Master untuk memantau memiliki set kata sandi (dalam kasus kami memiliki master), berikan kata sandi sehingga contoh sentinel dapat mengotentikasi dengan instance yang dilindungi.

 Sentinel Auth-Pass MyMaster [Email Dilindungi] 
Atur Kata Sandi Master Auth

6. Kemudian atur jumlah milidetik master (atau replika atau sentinel yang terlampir) harus tidak dapat dipertimbangkan untuk mempertimbangkannya dalam “Secara subyektif turun" negara.

Konfigurasi berikut berarti bahwa master akan dianggap gagal segera setelah kami tidak menerima balasan dari ping kami dalam waktu 5 detik (1 detik setara dengan 1000 milidetik).

Sentinel down-after-milliseconds mymaster 5000 
Mengatur waktu untuk master

7. Selanjutnya, atur timeout failover dalam milidetik yang mendefinisikan banyak hal (baca dokumentasi parameter dalam file konfigurasi).

Sentinel Failover-Timeout Mymaster 180000 
Setel Gagal Seiring Timeout

8. Kemudian atur jumlah replika yang dapat dikonfigurasi ulang untuk menggunakan master baru setelah failover pada saat yang sama. Karena kami memiliki dua replika, kami akan mengatur satu replika karena yang lain akan dipromosikan ke master baru.

Sentinel Parallel-Syncs Mymaster 1 
Atur jumlah replika sinkronisasi paralel

Perhatikan bahwa file konfigurasi di REDIS Replica1 Dan Sentinel2, Dan REDDIS Replica1 Dan Sentinel2 harus identik.

9. Selanjutnya, restart Penjaga Layanan pada semua node untuk menerapkan perubahan terbaru.

# Systemctl Restart Redis-Sentinel 

10. Selanjutnya, buka port 26379 di firewall pada semua node untuk mengaktifkan Penjaga contoh untuk mulai berbicara, menerima koneksi dari yang lain Penjaga instance, menggunakan firewall-cmd.

# firewall-cmd --zone = public --permanent --add-port = 26379/tcp # firewall-cmd --eload 

11. Semua replika akan ditemukan secara otomatis. Penting, Penjaga akan memperbarui konfigurasi secara otomatis dengan informasi tambahan tentang replika. Anda dapat mengonfirmasi ini dengan membuka Penjaga file konfigurasi untuk setiap instance dan lihat melalui itu.

Misalnya, ketika Anda melihat akhir file konfigurasi master, Anda harus melihat Sentinel yang dikenal Dan Replika yang dikenal pernyataan seperti yang ditunjukkan pada tangkapan layar berikut.

Konfigurasi yang dihasilkan secara otomatis di master

Itu harus menjadi kasus yang sama replica1 Dan replika2.

Konfigurasi yang dihasilkan secara otomatis di replika1 Konfigurasi yang dihasilkan secara otomatis di replica2

Perhatikan bahwa Penjaga Konfigurasi juga ditulis ulang/diperbarui setiap kali replika dipromosikan ke status master selama failover dan setiap kali sentinel baru ditemukan dalam pengaturan.

Langkah 3: Periksa status pengaturan Redis Sentinel

12. Sekarang periksa Penjaga status/informasi tentang master, menggunakan Info Sentinel perintah sebagai berikut.

# redis -cli -p 26379 Info Sentinel 

Dari output perintah seperti yang terlihat di tangkapan layar berikut, kami memiliki dua replika/budak dan tiga sentinel.

Periksa info sentinel tentang master

13. Untuk menunjukkan informasi terperinci tentang menguasai (ditelepon Tuanku), menggunakan Sentinel Master memerintah.

# redis -cli -p 26379 Sentinel Master Mymaster 
Tampilkan info terperinci tentang Sentinel Master

14. Untuk menunjukkan informasi terperinci tentang budak Dan Sentinel, menggunakan Budak Sentinel perintah dan Sentinel Sentinels perintah masing -masing.

# redis -cli -p 26379 Sentinel slaves mymaster # redis -cli -p 26379 Sentinel Sentinels mymaster 

15. Selanjutnya, tanyakan alamat master dengan nama dari instance budak menggunakan Sentinel get-master-addr-by-name perintah sebagai berikut.

Output harus berupa alamat IP dan port dari instance master saat ini:

# redis-cli -p 26379 Sentinel get-master-addr-by-name mymaster 
Dapatkan alamat master dengan nama di budak

Langkah 4: Uji failover sentinel

16. Akhirnya, mari kita uji failover otomatis di kami Penjaga mempersiapkan. Di Redis/Sentinel tuan, buat Redis master (berjalan di port 6379) untuk tidur 60 detik. Kemudian query alamat master saat ini di replika/budak sebagai berikut.

# redis -cli -p 6379 127.0.0.1: 6379> auth [email dilindungi] 127.0.0.1: 6379> Debug Sleep 60 # redis-cli -p 26379 Sentinel get-master-addr-by-name mymaster # redis-cli -p 26379 Sentinel get-master-addr-by-name mymaster 

Dari output untuk kueri, master baru sekarang Replika/Slave2 dengan alamat IP 10.42.0.34 seperti yang terlihat di tangkapan layar berikut.

Uji Redis Sentinel Failover

Anda bisa mendapatkan informasi lebih lanjut dari dokumentasi Redis Sentinel. Tetapi jika Anda memiliki pemikiran untuk dibagikan atau ditanyai, formulir umpan balik di bawah ini adalah pintu gerbang Anda kepada kami.

Di bagian berikutnya dan terakhir dari seri ini, kita akan melihat cara mengatur redis cluster di Centos 8. Ini akan menjadi artikel independen dari dua yang pertama.