Kuidas seadistada uuesti Sentineli kõrge kättesaadavuse jaoks CentOS 8-s - 2. osa


Redis pakub Redis Sentineli jaotussüsteemi kaudu kõrget kättesaadavust. Sentinel aitab jälgida Redise eksemplare, tuvastada tõrkeid ja teeb rollivahetused automaatselt, võimaldades Redise juurutamisel vastu seista igasugustele tõrgetele.

See sisaldab Redis-eksemplaride (põhi- ja koopiad) jälgimist, toetab skripti kaudu teiste teenuste/protsesside või süsteemiadministraatori teavitamist, automaatset tõrkeotsingut, et edastada replikat masterile, kui master langeb, ja pakub klientidele seadistusi praeguse teabe avastamiseks konkreetset teenust pakkuv kapten.

Selles artiklis selgitatakse, kuidas Redis seadistada CentOS 8-s Redis Sentineliga kõrge kättesaadavuse jaoks, sealhulgas valvurite konfigureerimine, häälestuse oleku kontrollimine ja Sentineli tõrkeotsingu testimine.

  1. Kuidas seadistada CentOS 8 1. osa uuesti replikatsioon (keelatud klastrirežiimiga)

Master Server and Sentinel1: 10.42.0.247
Redis Replica1 and Sentinel2: 10.42.0.21
Redis Replica2 and Sentinel3: 10.42.0.34

Redis Sentineli dokumentatsiooni kohaselt vajab usaldusväärseks juurutamiseks vähemalt kolme Sentineli eksemplari. Arvestades ülaltoodud seadistusi, lepivad Sentinels2 ja Sentinel3 tõrke korral kokku, kui peavõrk ebaõnnestub, ja saavad autoriseerida tõrkeülekande, muutes kliendi toimingud jätkuma.

1. samm: Redis Sentineli teenuse käivitamine ja lubamine

1. CentOS 8-l on Redis Sentineli teenus installitud Redise serveri kõrvale (mida me juba Redise replikatsiooni seadistuses tegime).

Redis sentineli teenuse käivitamiseks ja selle automaatse käivitamise lubamiseks süsteemi käivitamisel kasutage järgmisi käske systemctl. Samuti kontrollige selle olekut ja kontrollige selle olekut (tehke seda kõigil sõlmedel):

# systemctl start redis-sentinel
# systemctl enable redis-sentinel
# systemctl status redis-sentinel

2. samm: Redis Sentineli konfigureerimine kõigil Redise sõlmedel

2. Selles jaotises selgitame, kuidas konfigureerida Sentinel kõigis meie sõlmedes. Teenusel Sentinel on Redise serveriga sarnane konfiguratsioonivorming. Selle konfigureerimiseks kasutage ise dokumenteeritud konfiguratsioonifaili /etc/redis-sentinel.conf.

Kõigepealt looge originaalfaili varukoopia ja avage see redigeerimiseks.

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

3. Vaikimisi kuulab Sentinel porti 26379, kontrollige seda kõigil eksemplaridel. Pange tähele, et peate sidumisparameetri kommenteerimata jätma (või määrama väärtusele 0.0.0.0).

port 26379

4. Järgmisena käskige Sentinelil jälgida meie peremeest ja arvestage sellega olekus „Objektiivselt maas” ainult siis, kui vähemalt 2 kvoorumi valvurit nõustuvad. Mymasteri saate asendada kohandatud nimega.

#On Master Server and Sentinel1
sentinel monitor mymaster 127.0.0.1 6379 2

#On Replica1 and Sentinel2
sentinel monitor mymaster 10.42.0.247 6379 2

#On Replica1 and Sentinel3
sentinel monitor mymaster 10.42.0.247 6379 2

Tähtis: sentineli monitori väljavõte TULEB panna sentineli auth-pass lause ette, et vältida viga „Sellist määratud nimega juhti pole”. valvuriteenuse taaskäivitamisel.

5. Kui Redis'i jälgitaval masteril on seatud parool (meie juhul on masteril see parool), sisestage parool, et Sentineli eksemplar saaks kaitstud eksemplariga autentida.

 
sentinel auth-pass mymaster [email 

6. Seejärel määrake millisekundite arv, millal master (või mõni lisatud koopia või sentinell) peaks olema kättesaamatu, et seda pidada olekus „Subjektiivselt maas”.

Järgmine konfiguratsioon tähendab, et juht loetakse ebaõnnestunuks niipea, kui me ei saa 5 sekundi jooksul oma pingidelt vastust (1 sekund vastab 1000 millisekundile).

sentinel down-after-milliseconds mymaster 5000

7. Seejärel määrake tõrkeotsingu ajalõpp millisekundites, mis määrab palju asju (lugege konfiguratsioonifailis parameetri dokumentatsiooni).

sentinel failover-timeout mymaster 180000

8. Seejärel määrake koopiate arv, mida saab uue faili kasutamiseks pärast tõrkeotsingut korraga konfigureerida. Kuna meil on kaks koopiat, seame ühe koopia, kuna teine ülendatakse uueks meistriks.

sentinel parallel-syncs mymaster 1

Pange tähele, et Redis Replica1 ja Sentinel2 ning Reddis Replica1 ja Sentinel2 konfiguratsioonifailid peaksid olema identsed.

9. Järgmisena taaskäivitage teenused Sentinel kõigis sõlmedes, et rakendada hiljutisi muudatusi.

# systemctl restart redis-sentinel

10. Järgmisena avage kõigi sõlmede tulemüüris port 26379, et võimaldada Sentineli eksemplaridel kõnelemist alustada, saada ühendust teistelt Sentineli eksemplaridelt, kasutades tulemüüri cmd.

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

11. Kõik koopiad avastatakse automaatselt. Oluline on see, et Sentinel värskendab konfiguratsiooni automaatselt lisateabega koopiate kohta. Seda saate kinnitada, avades iga eksemplari jaoks Sentineli konfiguratsioonifaili ja vaadates selle läbi.

Näiteks kui vaatate ülema konfiguratsioonifaili lõppu, peaksite nägema tuntud sentinele ja tuntud replikate avaldusi, nagu on näidatud järgmisel ekraanipildil.

See peaks olema sama ka replica1 ja replica2 puhul.

Pange tähele, et ka Sentineli konfiguratsioon kirjutatakse ümber/värskendatakse iga kord, kui tõrkeotsingu ajal ülendatakse koopia põhiseisundiks ja iga kord, kui seadistusest avastatakse uus Sentinel.

3. samm: kontrollige Redis Sentineli seadistuse olekut

12. Nüüd kontrollige juhti Sentineli olekut/teavet, kasutades käsku info sentinel järgmiselt.

# redis-cli -p 26379 info sentinel

Järgmisel ekraanipildil näha oleva käsu väljundist on meil kaks koopiat/orja ja kolm valvurit.

13. Meistri (nimega mymaster) üksikasjaliku teabe kuvamiseks kasutage sentinel master käsku.

# redis-cli -p 26379 sentinel master mymaster

14. Orjade ja valvurite kohta üksikasjaliku teabe kuvamiseks kasutage vastavalt sentineli orjade ja sentineli valvurite käske.

# redis-cli -p 26379 sentinel slaves mymaster
# redis-cli -p 26379 sentinel sentinels mymaster

15. Järgmisena küsige orjaeksemplaride järgi pealiku aadressi, kasutades sentinel get-master-addr-by-name käsku järgmiselt.

Väljundiks peaks olema praeguse peaproovi IP-aadress ja port:

# redis-cli -p 26379 sentinel get-master-addr-by-name mymaster

4. samm: testige Sentineli tõrkeotsingut

16. Lõpuks testime Sentineli seadistuses automaatset tõrkeotsingut. Redis/Sentineli isandal laske Redise meistril (töötab porti 6379) 60 sekundit magada. Seejärel pärige koopiate/orjade praeguse ülema aadressi järgmiselt.

# redis-cli -p 6379
127.0.0.1:6379> AUTH [email 
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

Päringu väljundist on uus master nüüd replica/slave2 IP-aadressiga 10.42.0.34, nagu on näha järgmises ekraanipildis.

Lisateavet saate Redis Sentineli dokumentatsioonist. Kuid kui teil on mõtteid, mida jagada, või küsida, on allpool olev tagasisidevorm teie väravaks meile.

Selle seeria järgmises ja viimases osas vaatleme, kuidas seadistada RedIS-klaster CentOS 8-sse. See on kahe esimese iseseisev artikkel.