Bii o ṣe le Ṣeto idapada Redis (pẹlu Alaabo Ipo-iṣupọ) ni CentOS 8 - Apá 1
Redis (Server Dictionary Server) jẹ olokiki olokiki ati orisun ṣiṣii ti a lo ni ibigbogbo, iyara, pinpin ati lilo daradara ibi iranti-iye ibi ipamọ data iye olupin/olupin iṣeto data.
O funni ni awọn ẹya ti ọrọ ti o jẹ ki o munadoko fun ọpọlọpọ awọn ọran lilo: bi ibi ipamọ data kan, fẹlẹfẹlẹ caching, alagbata ifiranṣẹ, tabi isinyi; wulo ninu awọn ohun elo wẹẹbu, iwiregbe ati awọn ohun elo fifiranṣẹ, ere, awọn atupale data akoko gidi ati pupọ diẹ sii.
O ṣe atilẹyin awọn ẹya data rirọ, atunṣe oluwa-ẹrú asynchronous lati ṣe iwọn iṣẹ kika ati aabo lodi si pipadanu data, isomọ ẹgbẹ-alabara lati ṣe iwọn iṣẹ kikọ, awọn ọna meji ti itẹramọṣẹ fun kikọ data iranti sinu disk ni ọna kika iwapọ, iṣupọ, ati ipin. O tun ṣe ẹya awọn ailorukọ aifọwọyi fun imuṣiṣẹ wiwa giga nipasẹ Redis Sentinel, iwe afọwọkọ Lua, awọn iṣowo, ati ọpọlọpọ diẹ sii.
Jije KO SQL tabi ibi ipamọ data ti kii ṣe ibatan, Redis nfunni diẹ ninu awọn anfani iṣẹ lori awọn ọna ṣiṣe data ibile (bii MySQL/MariaDB, PostgreSQL, ati bẹbẹ lọ), nitori gbogbo data rẹ ngbe tabi wa ni fipamọ ni iranti ti o jẹ ki o rọrun ni irọrun si ohun elo kan, lakoko ti awọn apoti isura data ibile ni lati kọ gbogbo data si tabi ka lati disk tabi orisun ita.
Redis ti di yiyan ti o pọ julọ fun fifipamọ, eyiti o fun laaye fun atunlo data ti a fi pamọ (ti o fipamọ laarin aaye iranti akọkọ ohun elo) dipo ki o ma beere data nigbagbogbo fun data ti a nlo nigbagbogbo. Nitorinaa o jẹ ẹlẹgbẹ ikọja ti RDMS (Awọn ilana Isakoso data Isọdọkan) lati mu ilọsiwaju ohun elo ṣiṣẹ nikẹhin.
Ninu jara Tutorialis mẹta-apakan Redis, a yoo bo bii a ṣe le ṣeto ati lo diẹ ninu awọn ẹya pataki ti Redis eyiti o jẹ atunṣe, wiwa to ga julọ nipa lilo Redis Sentinel ati Redis Cluster, awọn nkan ni:
Itọsọna yii fihan bii o ṣe le Ṣeto idapada Redis (pẹlu Alaabo Ipo-iṣupọ) ni CentOS 8 Linux, pẹlu bii o ṣe le fi Redis sori ẹrọ, tunto oluwa ati awọn ẹda, ati idanwo ẹda naa.
Pataki: Apọpọ Redis (ie Iṣupọ Idapọ) pẹlu ipo iṣupọ alaabo ni ẹgbẹ ipade kan (fun apẹẹrẹ oluwa ati awọn ẹda ọkan tabi meji) awọn iṣupọ Redis kan pẹlu ipo iṣupọ ṣiṣẹ le ni awọn ẹgbẹ ipade meji tabi diẹ sii (fun apẹẹrẹ awọn oluwa mẹta ọkọọkan ni awọn ẹrú tabi meji).
- Awọn olupin pẹlu fifi sori CentOS 8
Redis Master Server: 10.42.0.247 Redis Replica1/Slave1: 10.42.0.21 Redis Replica2/Slave2: 10.42.0.34
Pẹlu iṣeto ti o wa loke (eyiti o ni kika kan/kọkọ akọkọ/node node ati 2 awọn kika ajọra kika-nikan), a ni ẹgbẹ ipade kan ti o ni gbogbo data iṣupọ ni oju ipade kọọkan. Ni kete ti ẹrú kan ba sopọ si oluwa kan, o gba ẹda akọkọ ti ibi ipamọ data kikun ati eyikeyi data ti o ti wa tẹlẹ lori ẹrú naa yoo di asonu.
Yato si, alabara kan le kọ nikan si oluwa ṣugbọn ka lati eyikeyi oju ipade ninu iṣupọ. Ati pe bi a ṣe n ṣe kikọ lori oluwa, wọn ṣe ikede si gbogbo awọn ẹrú ti o ni asopọ fun mimu awọn datasets ẹrú dojuiwọn ni akoko gidi.
Igbesẹ 1: Fifi Redis sori CentOS 8
1. Lati bẹrẹ pẹlu, wọle si gbogbo awọn apa CentOS 8 nipasẹ SSH, lẹhinna fi package Redis sori gbogbo awọn apa (oluwa ati awọn ẹda) nipa lilo oluṣakoso package DNF bi o ti han.
# dnf install @redis
2. Lẹhin ipari ti fifi sori package Redis, bẹrẹ iṣẹ Redis, jẹ ki o bẹrẹ laifọwọyi ni gbogbo bata bata ẹrọ ki o ṣayẹwo boya o ti wa ni oke ati ṣiṣe bi atẹle.
# systemctl start redis # systemctl enable redis # systemctl status redis
3. O tun le jẹrisi pe olupin Redis ti wa ni oke ati ṣiṣe nipasẹ ṣayẹwo awọn ibudo tẹtisi lilo aṣẹ ss, bi atẹle.
# ss -ltpn | grep redis-server
Igbese 2: Tito leto Redis Master Server
4. Redis ti wa ni tunto nipa lilo faili iṣeto /etc/redis.conf, faili apẹẹrẹ apẹẹrẹ ti ara ẹni ni akọsilẹ ara ẹni. Ni akọkọ, ṣẹda afẹyinti ti faili atilẹba, lẹhinna ṣii fun ṣiṣatunkọ nipa lilo olootu laini aṣẹ ti o yan.
# cp /etc/redis.conf /etc/redis.conf.org # vi /etc/redis.conf
5. Ni aiyipada, a tunto apẹẹrẹ Redis lati tẹtisi ati gba awọn isopọ lori wiwo loopback, ni lilo itọnisọna abuda. Lati ṣe ibaraẹnisọrọ pẹlu awọn ẹda, oluwa yẹ ki o wa ni tunto lati tẹtisi lori adiresi loopback IPv4 ati adiresi IP IP rẹ ie 10.42.0.247.
bind 127.0.0.1 10.42.0.247
6. Itele, ṣeto ipilẹ ipo-idaabobo si rara
lati gba ibaraẹnisọrọ laaye pẹlu awọn ẹda bi o ti han.
protected-mode no
Pẹlupẹlu, Redis tẹtisi lori ibudo 6379 eyiti o ṣeto nipa lilo itọsọna ibudo
. Eyi ni ibudo data fun sisọ pẹlu awọn ohun elo API tabi awọn alabara CLI.
port 6379
7. Lati ni aabo awọn ibaraẹnisọrọ ẹda-ajọra yiyan, a le ṣe aabo oluwa nipa lilo itọnisọna to beere, nitorinaa awọn alabara/awọn ẹda ni lati fun ni ọrọigbaniwọle idanimọ ṣaaju ṣiṣe eyikeyi awọn ofin tabi bẹrẹ ilana amuṣiṣẹpọ ẹda, bibẹkọ ti oluwa yoo kọ ibeere alabara/ajọra (ranti lati ṣeto ọrọ igbaniwọle to ni aabo).
A yoo lo aṣayan atẹle fun awọn idi ifihan, lati fihan bi o ṣe n ṣiṣẹ.
requirepass [email
8. Pẹlupẹlu, awọn iwe-akọọlẹ Redis wa ni fipamọ ni faili /var/log/redis/redis.log, eyi ni a ṣeto nipa lilo itọsọna logfile ati ipele verbosity olupin aiyipada jẹ akiyesi, ṣalaye nipa lilo paramita loglevel.
loglevel notice logfile /var/log/redis/redis.log
9. Niwọn igba ti eto jẹ eto aiyipada ati oluṣakoso iṣẹ ni CentOS 8, o le tunto Redis lati baṣepọ pẹlu igi abojuto eto nipa ṣiṣeto paramita ti a ṣakoso si siseto.
supervised systemd
10. Lẹhin ṣiṣe gbogbo awọn atunto ti o yẹ, fi faili pamọ ki o pa. Lẹhinna tun bẹrẹ iṣẹ Redis lati lo awọn ayipada tuntun.
# systemctl daemon-reload # systemctl restart redis
11. Lati wọle si olupin Redis, a nilo lati lo redis-cli (wiwo ila ila aṣẹ si olupin-redis). Nipa aiyipada, o sopọ si olupin lori localhost (ni ibudo 127.0.0.1 6379). Akiyesi pe nitori a ti ni ifipamo olupin naa lati ọdọ awọn alabara nipa lilo ọrọ igbaniwọle kan, ṣiṣe aṣẹ ṣaaju iṣaaju yẹ ki o kuna.
Lo pipaṣẹ auth lati fi ranse ọrọ igbaniwọle idanimọ bi o ṣe han ninu sikirinifoto atẹle.
# redis-cli 127.0.0.1:6379> client list 127.0.0.1:6379> AUTH [email 127.0.0.1:6379> client list
12. Lati sopọ si ẹda kan (lẹhin atunto wọn bi a ti ṣapejuwe rẹ ni apakan ti o tẹle), lo awọn aṣayan -h
ati -p
lati ṣafihan iru adiresi IP ajọra/orukọ olupinle ati ibudo ni atẹle (kii ṣe ibudo 6379 naa gbọdọ wa ni sisi ni ogiriina ajọra).
# redis-cli -h 10.42.0.21 -p 6379
13. Nigbamii, ṣii ibudo data olupin Redis ni ogiriina lati gba awọn isopọ inbound si oluwa, ati lẹhinna tun gbe awọn ofin ogiri naa pada pẹlu lilo aṣẹ ogiri-cmd bi o ti han.
# firewall-cmd --zone=public --permanent --add-port=6379/tcp # firewall-cmd --reload
Igbesẹ 3: Tito leto Awọn ẹda Redis/Awọn olupin Ẹru
14. Lati yara ṣeto apeere Redis kan gẹgẹbi ẹda lori fifo, lo iwulo redis-cli ki o pe pipaṣẹ REPLICAOF bi o ti han.
# redis-cli replicaof 10.42.0.247 6379 OR # redis-cli 127.0.0.1:6379> REPLICAOF 10.42.0.247 6379
15. Lati ṣe asopọ isodipupo kan, o nilo lati ṣe awọn ayipada wọnyi ni faili iṣeto. Bẹrẹ nipa ṣe afẹyinti faili atilẹba, lẹhinna ṣii fun ṣiṣatunkọ.
# cp /etc/redis.conf /etc/redis.conf.org # vi /etc/redis.conf
16. Lati gba awọn alabara laaye lati sopọ si ẹda naa lati ka data, ṣafikun adiresi IP ajọra si itọsọna abuda.
# replica1 bind 127.0.0.1 10.42.0.21 # replica2 bind 127.0.0.1 10.42.0.34
17. Lati tunto apeere Redis bi ẹda kan, lo paramita ẹda naa ki o ṣeto adiresi IP oju ipade ti oluwa (tabi orukọ olupin) ati ibudo bi awọn iye.
replicaof 10.42.0.247 6379
18. Nigbamii ti, niwọn igba ti a ti daabobo apeere oluwa wa nipa lilo ọrọ igbaniwọle kan, a nilo lati ṣeto ọrọ igbaniwọle ninu iṣeto ẹda lati jẹ ki o jẹrisi si oluwa, ni lilo paramita masterauth.
masterauth [email
19. Ni afikun, nigbati ẹda kan ba padanu asopọ rẹ pẹlu oluwa, tabi nigbati ẹda naa ba n lọ lọwọ, ẹda naa ni a tunto lati fesi si awọn ibeere alabara, o ṣee ṣe pẹlu data\"ti ọjọ ko to." Ṣugbọn fun ti o ba jẹ amuṣiṣẹpọ akọkọ, lẹhinna ṣeto data le kan ṣofo. Ihuwasi yii ni akoso nipasẹ apọpọ-serve-stale-data paramita.
Ati pe, niwọn igba ti Redis 2.6 nipasẹ awọn ẹda aiyipada jẹ kika-nikan, eyi ni iṣakoso nipasẹ pilẹṣẹ kika-ka-nikan. O le ṣe awọn atunṣe atunto ajọra miiran lati ba awọn iwulo ohun elo rẹ mu.
20. Ni kete ti o ti ṣe gbogbo awọn ayipada ti o yẹ, tun bẹrẹ iṣẹ Redis lori gbogbo awọn ẹda.
# systemctl restart redis
21. Pẹlupẹlu, ṣii ibudo 6379 ni ogiriina lati gba awọn isopọ lati ọdọ oluwa ati awọn alabara si awọn ẹda, ati tun gbe awọn ofin ogiri naa pada.
# firewall-cmd --zone=public --permanenent --add-port=6379/tcp # firewall-cmd --reload
Igbesẹ 4: Ṣayẹwo Ipo Idapọ Titunto si-ajọra
22. Ni kete ti iṣeto atunda oluwa-ajọra ti pari, a le ṣayẹwo ti ṣeto naa ba n ṣiṣẹ daradara bi atẹle.
Lori oluwa, ṣiṣe awọn ofin wọnyi.
# redis-cli 127.0.0.1:6379> AUTH [email 127.0.0.1:6379> info replication
23. Pẹlupẹlu, ṣayẹwo ipo ẹda lori awọn ẹda/awọn ẹrú gẹgẹbi atẹle.
# redis-cli 127.0.0.1:6379> info replication
23. Nisisiyi ẹ jẹ ki idanwo idanwo naa nipasẹ awọn eto bọtini-iye kan ninu apeere oluwa ki o ṣayẹwo boya a ti mu data pọpọ si awọn ẹda naa.
Lori oluwa, ṣe eyi:
# redis-cli 127.0.0.1:6379> AUTH [email 127.0.0.1:6379> set domain 'linux-console.net'
24. Lẹhinna ṣayẹwo ti o ba ti mu data pọpọ si awọn ẹda gẹgẹ bi o ti han.
# redis-cli 127.0.0.1:6379> get domain
25. Redis ni ẹya ti o jẹ ki apeere oluwa kan lati ṣe idiwọn eewu ti sisọnu diẹ ninu awọn kikọ silẹ bi ko ba si awọn ẹda ti o to wa, si nọmba kan ti awọn iṣẹju-aaya ti o wa.
Eyi tumọ si pe oluwa kan le dawọ gbigba awọn kikọ silẹ ti o ba kere ju awọn ẹda N ti a sopọ, nini aisun kere tabi dogba ju awọn aaya M, bi iṣakoso nipasẹ awọn aṣayan min-replicas-lati-kọ ati min-replicas-max-lag awọn lẹsẹsẹ.
Lati ṣeto wọn, ṣoki wọn ki o ṣeto awọn iye ni ibamu si awọn ibeere iṣeto rẹ ni /etc/redis.conf, bi o ṣe han ninu sikirinifoto atẹle. Iṣeto yii tumọ si pe, lati ping ti o kẹhin si awọn ẹda, lẹhin awọn aaya 10, ti o ba kere ju awọn ẹda 2 lori ayelujara, oluwa yoo da gbigba awọn kikọ silẹ.
min-replicas-to-write 2 min-replicas-max-lag 10
O le wa awọn aṣayan diẹ sii ni iyoku faili iṣeto /etc/redis.conf ati fun alaye diẹ sii ka nipa atunse ninu iwe Redis.
Ninu nkan ti nbọ, a yoo bo bii a ṣe le ṣeto Redis fun wiwa to gaju pẹlu Sentinel ni CentOS 8. Titi di igba naa, wa ni titiipa ki o ranti lati pin awọn akọọlẹ rẹ ati awọn ibeere nipa lilo fọọmu asọye wa ni isalẹ wa fun ọ lati de ọdọ wa.