Yadda za a Sanya Redis Replic (tare da Cluster-Mode Disabled) a cikin CentOS 8 - Sashe na 1


Redis (Server Dictionary Server) shahararren shahararren buɗaɗɗen buɗaɗɗen tushe ne, mai sauri, rarrabawa da ingantaccen mahimmin ƙwaƙwalwar ajiya mai ƙimar bayanai/sabar tsarin bayanai.

Yana bayar da wadatattun sifofi waɗanda zasu sa ya zama mai tasiri ga batutuwa masu amfani da yawa: azaman ɗakunan ajiya, layin ɓoye, dillalin saƙo, ko layi; zartar a aikace-aikacen gidan yanar gizo, aikace-aikacen taɗi da saƙonni, wasan caca, nazarin bayanan lokaci da ƙari mai yawa.

Yana tallafawa tsarin data mai sassauci, bawa-bawa wanda baiyi amfani dashi ba don fadada karantar aiki da kuma kariya daga asarar data, hada kayan kwastomomi don kara girman rubutu, nau'ikan biyu na juriya don rubuta bayanan cikin-kwakwalwa zuwa faifai a cikin karamin tsari, tarawa, da rabuwa. Hakanan yana ƙunshe da masu ba da kyauta ta atomatik don samar da wadatattun abubuwa ta hanyar Redis Sentinel, rubutun Lua, ma'amaloli, da ƙari mai yawa.

Kasancewarsa babu SQL ko kuma bayanan da ba alaƙa da dangantaka ba, Redis yana ba da fa'idodi na aiki akan tsarin bayanan gargajiya (kamar su MySQL/MariaDB, PostgreSQL, da sauransu), saboda duk bayanan sa suna zaune ko an adana su cikin ƙwaƙwalwar don samar da su cikin sauƙin aikace-aikace, yayin da rumbun adana bayanai na gargajiya suke rubuta duk bayanai zuwa ko karantawa daga faifai ko wata hanyar waje.

Redis ya zama wani zaɓi da ke taɓarɓarewa don ɓoyewa, wanda ke ba da damar sake amfani da bayanan da aka adana (wanda aka adana a cikin babban wurin ƙwaƙwalwar ajiyar aikace-aikacen) maimakon koyaushe neman bayanan bayanai don bayanan da ake amfani da su akai-akai. Don haka aboki ne mai ban sha'awa na RDMS (Tsarin Gudanar da Bayanan Bayanai) don haɓaka aikin aikace-aikace a ƙarshe.

A cikin wannan jerin koyarwar na Redis kashi uku, zamu rufe yadda ake tsarawa da amfani da wasu mahimman abubuwan Redis waɗanda sune maimaitawa, samun wadataccen amfani ta Redis Sentinel da Redis Cluster, labaran sune:

Wannan jagorar yana nuna yadda za a saita Redis Replic (tare da Cluster-Mode Disabled) a cikin CentOS 8 Linux, gami da yadda za a girka Redis, saita maigida da kayan aiki, da gwada maimaitawar.

Mahimmanci: Cungiyar Redis (watau Cungiya mai Repaura) tare da yanayin tari an kashe ta tana da rukuni ɗaya na kumburi (misali maigida da kayan aiki guda ɗaya ko biyu) a kowane rukunin Redis tare da yanayin gungu wanda aka kunna na iya ƙunsar ƙungiyoyi biyu ko sama da haka (misali masters uku kowane yana da bayi ko biyu).

  1. Sabis tare da Shigar da CentOS 8

Redis Master Server: 10.42.0.247
Redis Replica1/Slave1: 10.42.0.21
Redis Replica2/Slave2: 10.42.0.34

Tare da saitin da ke sama (wanda ke da kumbura/karanta firam guda daya/babban kwaleji da kuma node guda biyu masu karantarwa), muna da rukuni guda na kumburi wanda ya ƙunshi dukkan bayanan tarin a cikin kowane kumburi. Da zarar bawa ya haɗu da maigidan, zai karɓi kwafin farko na cikakken bayanan kuma duk bayanan da suka kasance a kan bawan za a watsar da su.

Bayan haka, abokin ciniki na iya rubutawa ga maigidan kawai amma ya karanta daga kowane kumburi a cikin tarin. Kuma kamar yadda ake yin rubuce-rubuce a kan maigidan, sun yada zuwa ga duk bayin da aka haɗa don sabunta bayanan bawa a ainihin lokacin.

Mataki 1: Shigar da Redis akan CentOS 8

1. Da farko, shiga cikin dukkan sassan CentOS 8 ta hanyar SSH, sannan girka kunshin Redis akan dukkan nodes (master da replicas) ta amfani da mai sarrafa kunshin DNF kamar yadda aka nuna.

# dnf install @redis

2. Bayan kammala shigarwar kunshin Redis, fara aikin Redis, ba shi damar farawa ta atomatik a kowane boot system saika bincika idan ya tashi aiki kamar haka.

# systemctl start redis
# systemctl enable redis
# systemctl status redis

3. Hakanan zaka iya tabbatar da cewa sabar Redis tana aiki kuma tana aiki ta hanyar bincika tashoshin sauraro ta amfani da umarnin ss, kamar haka.

# ss -ltpn | grep redis-server

Mataki 2: Harhadawa Redis Master Server

4. Redis an saita shi ta amfani da /etc/redis.conf fayil ɗin sanyi, fayil ɗin misali misali mai rikodin kansa. Da farko, ƙirƙiri madadin fayil na asali, sannan buɗe shi don yin gyara ta amfani da editan zaɓin layin da kuka zaɓa.

# cp /etc/redis.conf /etc/redis.conf.org
# vi /etc/redis.conf

5. Ta hanyar tsoho, an saita misalin Redis don sauraro da karɓar haɗi akan ƙirar madauki, ta amfani da umarnin ɗaure. Don sadarwa tare da abubuwan, ya kamata a saita maigidan don saurara akan adireshin madauki na IPv4 da adireshin LAN na LAN watau 10.42.0.247

bind 127.0.0.1 10.42.0.247

6. Na gaba, saita saitin yanayin kiyayewa zuwa ba don ba da damar sadarwa tare da abubuwan kamar yadda aka nuna.

protected-mode no

Hakanan, Redis yana saurare a tashar jiragen ruwa 6379 wanda aka saita ta amfani da tashar jirgin ruwa umarnin. Wannan ita ce tashar data don sadarwa tare da aikace-aikacen APIs ko abokan ciniki na CLI.

port 6379

7. Don amintar da sadarwa ta hanyar kwatankwacin sake-kwatancen kwalliya, zamu iya kare maigidan ta amfani da umarnin wucewa, ta yadda abokan harka/kayan aiki zasu bayar da kalmar wucewa kafin aiwatar da kowane umarni ko fara aiwatar da aiki tare, in ba haka ba maigidan zai ƙi buƙatun abokin ciniki/Replica (tuna don saita amintaccen kalmar sirri).

Za mu yi amfani da zaɓi na gaba don dalilan nunawa, don nuna yadda yake aiki.

requirepass  [email 

8. Hakanan, ana adana bayanan Redis a cikin fayil ɗin /var/log/redis/redis.log, an saita wannan ta amfani da umarnin logfile kuma tsoho uwar garken verbosity matakin sanarwa ne, an bayyana ta amfani da ma'aunin loglevel.

loglevel  notice
logfile  /var/log/redis/redis.log

9. Tunda tsarin shine tsarin tsoho da manajan sabis a CentOS 8, zaku iya saita Redis don yin hulɗa tare da bishiyar kulawa ta tsarin ta hanyar saita matakan kulawa zuwa tsarin.

supervised systemd

10. Bayan kayi duk abubuwanda ake bukata, saika ajiye file din ka rufe shi. Sannan sake kunna sabis na Redis don amfani da sababbin canje-canje.

# systemctl daemon-reload
# systemctl restart redis

11. Don samun damar sabar Redis, muna buƙatar amfani da redis-cli (hanyar layin umarni zuwa ga redis-uwar garken). Ta hanyar tsoho, yana haɗuwa zuwa sabar akan localhost (a 127.0.0.1 tashar 6379). Lura cewa saboda an amintar da sabar daga abokan ciniki ta amfani da kalmar wucewa, gudanar da umarni kafin tabbatarwa ya kasa.

Yi amfani da umarnin auth don samar da kalmar sirri na tabbatarwa kamar yadda aka nuna a cikin hoton da ke gaba.

# redis-cli
127.0.0.1:6379> client list
127.0.0.1:6379> AUTH [email 
127.0.0.1:6379> client list

12. Don haɗawa zuwa samfuri (bayan an daidaita su kamar yadda aka bayyana a sashe na gaba), yi amfani da -h da -p zaɓuɓɓuka don tantance adreshin IP/sunan mai masauki da tashar jiragen ruwa bi da bi (ba tashar tashar 6379 ba dole ne ta kasance a buɗe a cikin Firewall).

# redis-cli -h 10.42.0.21 -p 6379

13. A gaba, bude tashar data ta uwar garken Redis a cikin katangar don bada damar shigowa zuwa ga maigidan, sannan daga baya sai a sake loda dokokin ta hanyar amfani da wutar ta-cmd din kamar yadda aka nuna.

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

Mataki 3: Harhadawa Redis Replica/Slave Servers

14. Don saurin saita misali na Redis azaman kwatankwacin tashi, yi amfani da redis-cli mai amfani ka kuma kira umarnin REPLICAOF kamar yadda aka nuna.

# redis-cli replicaof 10.42.0.247 6379
OR
# redis-cli
127.0.0.1:6379> REPLICAOF 10.42.0.247 6379

15. Don yin haɗin keɓaɓɓen abu na dindindin, kuna buƙatar yin canje-canje masu zuwa a cikin fayil ɗin sanyi. Fara farawa da ajiyar fayil na asali, sannan buɗe shi don gyara.

# cp /etc/redis.conf /etc/redis.conf.org
# vi /etc/redis.conf

16. Don bawa abokan ciniki damar ha connectawa da kwatancen don karanta bayanai, theara adreshin IP ɗin ɗin zuwa umarnin ɗaure.

# replica1
bind 127.0.0.1 10.42.0.21

# replica2
bind 127.0.0.1 10.42.0.34

17. Don saita misali na Redis azaman kayan kwalliya, yi amfani da sifar da aka sake bugawa kuma saita adireshin IP na ƙirar babban (ko sunan mai masauki) da tashar jiragen ruwa azaman ƙimomi.

replicaof 10.42.0.247 6379

18. Na gaba, tunda an kiyaye misali na maigidan mu ta hanyar amfani da kalmar sirri, muna buƙatar saita kalmar sirri a cikin kwatancen kwatankwacin don ba shi damar tabbatarwa ga maigidan, ta amfani da ma'aunin masterauth.

masterauth [email 

19. Bugu da kari, lokacin da wani abu ya bata alakar shi da maigidan, ko kuma lokacin da kwafin yake gudana, ana tsara kwafin don amsa buƙatun abokin ciniki, mai yiwuwa tare da bayanan\"na zamani." Amma don idan aiki tare na farko ne, to saitin bayanan yana iya zama fanko ne kawai. Wannan halayyar ana sarrafa ta ne ta hanyar kwafin rubutaccen - serve-stale-data.

Kuma, tunda Redis 2.6 ta hanyar tsoffin abubuwanda aka karanta kawai, wannan ana sarrafa shi ta hanyar siga mai karantawa kawai. Kuna iya yin sauran kwaskwarimar kwaskwarima don dacewa da bukatun aikace-aikacenku.

20. Da zarar kayi dukkan canje-canje da ake buƙata, sake kunna sabis ɗin Redis akan dukkan abubuwa.

# systemctl restart redis

21. Hakanan, buɗe tashar jiragen ruwa 6379 a cikin bangon wuta don ba da damar haɗi daga maigida da abokan ciniki zuwa abubuwan, kuma sake shigar da dokokin bango.

# firewall-cmd --zone=public --permanenent --add-port=6379/tcp
# firewall-cmd --reload

Mataki na 4: Bincika Matsayi na Kwafi na Jagora

22. Da zarar an gama daidaita-kwafin maimaita mallaka, za mu iya bincika idan saitin yana aiki daidai kamar haka.

A kan maigidan, gudanar da waɗannan umarnin.

# redis-cli
127.0.0.1:6379> AUTH [email 
127.0.0.1:6379> info replication

23. Hakanan, bincika matsayin kwafi akan abubuwan/bayi kamar haka.

# redis-cli
127.0.0.1:6379> info replication

23. Yanzu bari mu gwada maimaitawa ta hanyar saitunan maɓallin-maɓalli a cikin misali mai kyau kuma bincika idan an daidaita bayanan zuwa abubuwan.

A kan maigidan, yi wannan:

# redis-cli
127.0.0.1:6379> AUTH [email 
127.0.0.1:6379> set domain 'linux-console.net'

24. Sa'an nan kuma bincika idan an daidaita bayanan zuwa abubuwan kamar yadda aka nuna.

# redis-cli
127.0.0.1:6379> get domain

25. Redis yana da fasali wanda ke bawa babban misali don iyakance haɗarin rasa wasu rubuce-rubuce idan har ba'a sami wadatattun kayan aiki ba, zuwa takamaiman adadin sakanni.

Wannan yana nufin cewa maigida na iya dakatar da karɓar rubuce-rubuce idan akwai ƙasa da abubuwan N wanda aka haɗa, yana da ragi ƙasa ko daidai da sakan na M, kamar yadda sarrafawar min-replicas-to-rubuta da min-replicas-max-lag suke bi da bi.

Don saita su, kunyata su kuma saita ƙimomin bisa ga buƙatun saitin ku a cikin /etc/redis.conf, kamar yadda aka nuna a cikin hoton nan mai zuwa. Wannan sanyi yana nufin cewa, daga ping na ƙarshe zuwa abubuwa, bayan daƙiƙa 10, idan akwai abubuwa ƙasa da 2 a yanar gizo, maigidan zai daina karɓar rubuce-rubuce.

min-replicas-to-write 2
min-replicas-max-lag 10

Kuna iya samun ƙarin zaɓuɓɓuka a cikin sauran fayil ɗin sanyi /etc/redis.conf kuma don ƙarin karantawa game da kwafi a cikin takardun Redis.

A cikin labarin na gaba, zamu rufe yadda za a saita Redis don samin wadatarwa tare da Sentinel a cikin CentOS 8. Har zuwa lokacin, ku kulle kuma ku tuna raba ra'ayoyinku da tambayoyinku ta amfani da fom ɗinmu na sharhi a ƙasa akwai don ku isa gare mu.