Hvernig á að setja upp Redis fyrir mikla aðgengi með Sentinel í CentOS 8 - Part 2


Redis veitir mikið aðgengi í gegnum Redis Sentinel dreift kerfi. Sentinel hjálpar til við að fylgjast með Redis tilvikum, greina bilanir og mun gera hlutverkaskipti sjálfkrafa þannig að Redis dreifing gerir kleift að standast hvers kyns bilanir.

Það býður upp á eftirlit með Redis tilvikum (master og eftirlíkingar), styður tilkynningar um aðra þjónustu/ferla eða kerfisstjóra í gegnum skriftu, sjálfvirka bilun til að gera eftirlíkingu að master þegar master fer niður og býður upp á stillingar fyrir viðskiptavini til að uppgötva núverandi meistari sem býður upp á tiltekna þjónustu.

Þessi grein sýnir hvernig á að setja upp Redis fyrir mikið aðgengi með Redis Sentinel í CentOS 8, þar á meðal að stilla vaktstöðvar, athuga uppsetningarstöðu og prófa Sentinel bilun.

  1. Hvernig á að setja upp Redis afritun (með óvirka klasaham) í CentOS 8 – Part 1

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

Samkvæmt Redis Sentinel skjölunum þarf að minnsta kosti þrjú Sentinel tilvik fyrir öfluga dreifingu. Miðað við uppsetninguna okkar hér að ofan, ef skipstjórinn mistekst, munu Sentinels2 og Sentinel3 vera sammála um bilunina og geta heimilað bilun, sem gerir aðgerðum viðskiptavinar kleift að halda áfram.

Skref 1: Ræsa og virkja Redis Sentinel Service

1. Á CentOS 8 er Redis Sentinel þjónustan sett upp við hlið Redis netþjónsins (sem við gerðum nú þegar í Redis afritunaruppsetningunni).

Til að ræsa Redis sentinel þjónustuna og gera henni kleift að byrja sjálfkrafa við ræsingu kerfisins, notaðu eftirfarandi systemctl skipanir. Staðfestu líka að það sé í gangi með því að athuga stöðu þess (gerðu þetta á öllum hnútum):

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

Skref 2: Stilla Redis Sentinel á öllum Redis hnútum

2. Í þessum kafla útskýrum við hvernig á að stilla Sentinel á öllum hnútum okkar. Sentinel þjónustan er með svipað uppsetningarsnið og Redis þjónninn. Til að stilla það, notaðu /etc/redis-sentinel.conf sjálfskráða stillingarskrána.

Fyrst skaltu búa til öryggisafrit af upprunalegu skránni og opna hana til að breyta.

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

3. Sjálfgefið, Sentinel hlustar á port 26379, staðfestu þetta í öllum tilvikum. Athugaðu að þú verður að skilja bindibreytuna eftir úti (eða stilla á 0.0.0.0).

port 26379

4. Næst skaltu segja Sentinel að fylgjast með húsbóndanum okkar og að íhuga það í \hlutlægt niður ástandi aðeins ef að minnsta kosti 2 sveitarverðir eru sammála. Þú getur skipt út mymaster fyrir sérsniðið nafn.

#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

Mikilvægt: Yfirlýsingu eftirlitsstöðvarinnar VERÐUR að vera á undan yfirlýsingu eftirlitsmannsins til að forðast villuna „Enginn slíkur meistari með tilgreint nafn.“ þegar endurræst er vaktþjónustuna.

5. Ef Redis meistarinn sem á að fylgjast með hefur sett lykilorð (í okkar tilfelli hefur meistarinn), gefðu upp lykilorðið svo að Sentinel tilvik geti auðkennt með verndaða tilvikinu.

 
sentinel auth-pass mymaster [email 

6. Stilltu síðan fjölda millisekúndna sem meistarinn (eða einhver meðfylgjandi eftirmynd eða vörður) ætti að vera óaðgengilegur til að líta á það í Subjectively Down ástandinu.

Eftirfarandi uppsetning þýðir að skipstjórinn verður talinn mistakast um leið og við fáum engin svör frá pingunum okkar innan 5 sekúndna (1 sekúnda jafngildir 1000 millisekúndum).

sentinel down-after-milliseconds mymaster 5000

7. Næst skaltu stilla bilunartíma í millisekúndur sem skilgreinir margt (lestu skjölin um færibreytuna í stillingarskránni).

sentinel failover-timeout mymaster 180000

8. Stilltu síðan fjölda eftirmynda sem hægt er að endurstilla til að nota nýja meistarann eftir bilun á sama tíma. Þar sem við erum með tvær eftirmyndir munum við setja eina eftirmynd þar sem hin verður færð upp í nýja meistarann.

sentinel parallel-syncs mymaster 1

Athugaðu að stillingarskrárnar á Redis Replica1 og Sentinel2, og Reddis Replica1 og Sentinel2 ættu að vera eins.

9. Næst skaltu endurræsa Sentinel þjónustuna á öllum hnútum til að beita nýlegum breytingum.

# systemctl restart redis-sentinel

10. Næst skaltu opna port 26379 í eldveggnum á öllum hnútum til að gera Sentinel tilvikunum kleift að byrja að tala, taka á móti tengingum frá hinum Sentinel tilvikunum, með því að nota eldvegg-cmd.

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

11. Allar eftirmyndirnar verða sjálfkrafa uppgötvaðar. Mikilvægt er að Sentinel uppfærir stillingarnar sjálfkrafa með viðbótarupplýsingum um eftirlíkingar. Þú getur staðfest þetta með því að opna Sentinel stillingarskrána fyrir hvert tilvik og fletta í gegnum hana.

Til dæmis, þegar þú horfir á lok stillingaskrár meistarans, ættir þú að sjá yfirlýsingarnar um þekkta vörður og þekktar eftirmyndir eins og sýnt er á eftirfarandi skjámynd.

Það ætti að vera það sama á eftirmynd1 og eftirmynd2.

Athugaðu að Sentinel uppsetningin er einnig endurskrifuð/uppfærð í hvert skipti sem eftirmynd er færð í aðalstöðu við bilun og í hvert sinn sem nýr Sentinel uppgötvast í uppsetningunni.

Skref 3: Athugaðu Redis Sentinel uppsetningarstöðu

12. Athugaðu nú Sentinel stöðuna/upplýsingarnar á skipstjóranum með því að nota info sentinel skipunina sem hér segir.

# redis-cli -p 26379 info sentinel

Frá úttak skipunarinnar eins og sést á eftirfarandi skjámynd, höfum við tvær eftirmyndir/þræla og þrjá varðmenn.

13. Til að sýna nákvæmar upplýsingar um meistarann (kallaður mymaster), notaðu skipunina vaktstjóra.

# redis-cli -p 26379 sentinel master mymaster

14. Til að sýna nákvæmar upplýsingar um þrælana og varðmennina, notaðu skipunina sentinel slaves og sentinel sentinels skipunina í sömu röð.

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

15. Spurðu næst heimilisfang skipstjórans með nafni frá þrælatilvikunum með því að nota sentinel get-master-addr-by-name skipunina sem hér segir.

Úttakið ætti að vera IP-tala og gátt núverandi aðaltilviks:

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

Skref 4: Prófaðu Sentinel Failover

16. Að lokum skulum við prófa sjálfvirka bilun í Sentinel uppsetningunni okkar. Á Redis/Sentinel masternum, láttu Redis masterinn (keyrandi á port 6379) sofa í 60 sekúndur. Spurðu síðan um heimilisfang núverandi meistara á eftirlíkingunum/þrælunum sem hér segir.

# 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

Frá úttakinu fyrir fyrirspurnina er nýi meistarinn nú eftirmynd/slave2 með IP tölu 10.42.0.34 eins og sést á eftirfarandi skjámynd.

Þú getur fengið frekari upplýsingar í Redis Sentinel skjölunum. En ef þú hefur einhverjar hugsanir til að deila eða fyrirspurnir, þá er athugasemdareyðublaðið hér að neðan hlið þín til okkar.

Í næsta og síðasta hluta þessarar seríu munum við skoða hvernig á að setja upp Redis Cluster í CentOS 8. Það verður sjálfstæð grein frá fyrstu tveimur.