சென்டோஸ் 8 - பகுதி 1 இல் ரெடிஸ் பிரதிகளை எவ்வாறு அமைப்பது (கிளஸ்டர்-பயன்முறை முடக்கப்பட்டுள்ளது)
ரெடிஸ் (ரிமோட் டிக்ஷனரி சர்வர்) என்பது மிகவும் பிரபலமான மற்றும் பரவலாகப் பயன்படுத்தப்படும் திறந்த மூலமாகும், வேகமான, விநியோகிக்கப்பட்ட மற்றும் திறமையான நினைவக விசை மதிப்பு தரவுத்தளம்/தரவு கட்டமைப்பு சேவையகம்.
இது பரவலான பயன்பாட்டு நிகழ்வுகளுக்கு பயனுள்ளதாக இருக்கும் அம்சங்களின் பணக்கார தொகுப்பை வழங்குகிறது: ஒரு தரவுத்தளமாக, கேச்சிங் லேயராக, செய்தி தரகர் அல்லது வரிசையில்; வலை பயன்பாடுகள், அரட்டை மற்றும் செய்தி பயன்பாடுகள், கேமிங், நிகழ்நேர தரவு பகுப்பாய்வு மற்றும் பலவற்றில் பொருந்தும்.
இது நெகிழ்வான தரவு கட்டமைப்புகளை ஆதரிக்கிறது, வாசிப்பு செயல்திறனை அளவிட மாஸ்டர்-ஸ்லேவ் ஒத்திசைவற்ற பிரதி மற்றும் தரவு இழப்புக்கு எதிராக பாதுகாத்தல், எழுத்தாளர் செயல்திறனை அளவிட கிளையன்ட்-சைட் ஷார்பிங், நினைவக தரவை வட்டுக்கு ஒரு சிறிய வடிவத்தில் எழுதுவதற்கான இரண்டு வகையான விடாமுயற்சி, கிளஸ்டரிங் மற்றும் பகிர்வு. ரெடிஸ் சென்டினல், லுவா ஸ்கிரிப்டிங், பரிவர்த்தனைகள் மற்றும் பலவற்றின் வழியாக அதிக கிடைக்கும் வரிசைப்படுத்தலுக்கான தானியங்கி செயலிழப்புகளையும் இது கொண்டுள்ளது.
எந்தவொரு SQL அல்லது அல்லாத தொடர்புடைய தரவுத்தளமாக இருப்பதால், பாரம்பரிய தரவுத்தள அமைப்புகளில் (MySQL/MariaDB, PostgreSQL போன்றவை) சில செயல்திறன் நன்மைகளை ரெடிஸ் வழங்குகிறது, ஏனெனில் அதன் எல்லா தரவும் வசிக்கின்றன அல்லது நினைவகத்தில் சேமிக்கப்படுகின்றன, இது ஒரு பயன்பாட்டிற்கு எளிதாக அணுகக்கூடியதாக இருக்கும், பாரம்பரிய தரவுத்தளங்கள் எல்லா தரவையும் வட்டு அல்லது வெளிப்புற மூலத்திலிருந்து எழுத வேண்டும் அல்லது படிக்க வேண்டும்.
ரெடிஸ் கேச்சிங்கிற்கான பெருகிய முறையில் நடைமுறையில் உள்ள தேர்வாக மாறியுள்ளது, இது அடிக்கடி பயன்படுத்தப்படும் தரவுகளுக்கான தரவுத்தளத்தை எப்போதும் வினவுவதை விட, தற்காலிக சேமிப்பில் உள்ள தரவை மீண்டும் பயன்படுத்த அனுமதிக்கிறது (பயன்பாட்டின் முக்கிய நினைவக இடத்தில் சேமிக்கப்படுகிறது). எனவே பயன்பாட்டு செயல்திறனை இறுதியில் மேம்படுத்த இது ஆர்.டி.எம்.எஸ் (ரிலேஷனல் டேட்டாபேஸ் மேனேஜ்மென்ட் சிஸ்டம்ஸ்) இன் அருமையான துணை.
இந்த மூன்று பகுதி ரெடிஸ் டுடோரியல் தொடரில், ரெடிஸின் சில முக்கிய அம்சங்களை எவ்வாறு அமைப்பது மற்றும் பயன்படுத்துவது என்பதை நாங்கள் காண்போம், அவை பிரதி, ரெடிஸ் சென்டினல் மற்றும் ரெடிஸ் கிளஸ்டரைப் பயன்படுத்தி அதிக கிடைக்கும் தன்மை, கட்டுரைகள்:
இந்த வழிகாட்டி சென்டோஸ் 8 லினக்ஸில் ரெடிஸ் ரெப்ளிகேஷனை (க்ளஸ்டர்-மோட் முடக்கப்பட்ட நிலையில்) எவ்வாறு அமைப்பது என்பதைக் காட்டுகிறது, இதில் ரெடிஸை எவ்வாறு நிறுவுவது, மாஸ்டர் மற்றும் பிரதிகளை உள்ளமைப்பது மற்றும் நகலைச் சோதிப்பது ஆகியவை அடங்கும்.
முக்கியமானது: கிளஸ்டர் பயன்முறையில் முடக்கப்பட்ட ஒரு ரெடிஸ் கிளஸ்டர் (அதாவது ஒரு பிரதி கிளஸ்டர்) ஒற்றை முனைக் குழுவைக் கொண்டுள்ளது (எ.கா. ஒரு மாஸ்டர் மற்றும் ஒன்று அல்லது இரண்டு பிரதிகள்) சக்கரங்கள் கிளஸ்டர் பயன்முறையுடன் இயக்கப்பட்ட ரெடிஸ் கிளஸ்டர் இரண்டு அல்லது அதற்கு மேற்பட்ட முனைக் குழுக்களைக் கொண்டிருக்கலாம் (எ.கா. மூன்று முதுநிலை ஒவ்வொன்றும் அடிமைகள் அல்லது இரண்டு).
- CentOS 8 நிறுவலுடன் சேவையகங்கள்
Redis Master Server: 10.42.0.247 Redis Replica1/Slave1: 10.42.0.21 Redis Replica2/Slave2: 10.42.0.34
மேலே உள்ள அமைப்பைக் கொண்டு (இது ஒரு ஒற்றை வாசிப்பு/எழுத முதன்மை/முதன்மை முனை மற்றும் 2 படிக்க மட்டும் பிரதி முனைகளைக் கொண்டுள்ளது), எங்களிடம் ஒரு முனைக் குழு உள்ளது, அதில் ஒவ்வொரு முனையிலும் உள்ள அனைத்து கிளஸ்டரின் தரவுகளும் உள்ளன. ஒரு அடிமை ஒரு எஜமானருடன் இணைந்தவுடன், அது முழு தரவுத்தளத்தின் ஆரம்ப நகலைப் பெறுகிறது, மேலும் அடிமையில் முன்பு இருந்த எந்தத் தரவும் நிராகரிக்கப்படும்.
தவிர, ஒரு கிளையன்ட் மாஸ்டருக்கு மட்டுமே எழுத முடியும், ஆனால் கிளஸ்டரில் உள்ள எந்த முனையிலிருந்தும் படிக்க முடியும். மாஸ்டரில் எழுத்துக்கள் நிகழ்த்தப்படுவதால், அடிமை தரவுத்தொகுப்புகளை நிகழ்நேரத்தில் புதுப்பிப்பதற்காக இணைக்கப்பட்ட அனைத்து அடிமைகளுக்கும் அவை பிரச்சாரம் செய்தன.
படி 1: சென்டோஸ் 8 இல் ரெடிஸை நிறுவுதல்
1. தொடங்குவதற்கு, SSH வழியாக அனைத்து CentOS 8 முனைகளிலும் உள்நுழைந்து, பின்னர் காட்டப்பட்டுள்ளபடி DNF தொகுப்பு நிர்வாகியைப் பயன்படுத்தி அனைத்து முனைகளிலும் (முதன்மை மற்றும் பிரதிகள்) ரெடிஸ் தொகுப்பை நிறுவவும்.
# dnf install @redis
2. ரெடிஸ் தொகுப்பு நிறுவல் முடிந்ததும், ரெடிஸ் சேவையைத் தொடங்கவும், ஒவ்வொரு கணினி துவக்கத்திலும் தானாகவே தொடங்கவும், அது இயங்குகிறதா என சரிபார்க்கவும் பின்வருமாறு.
# systemctl start redis # systemctl enable redis # systemctl status redis
3. பின்வருமாறு, ss கட்டளையைப் பயன்படுத்தி கேட்கும் துறைமுகங்களைச் சரிபார்ப்பதன் மூலம் ரெடிஸ் சேவையகம் இயங்குகிறது என்பதையும் உறுதிப்படுத்தலாம்.
# ss -ltpn | grep redis-server
படி 2: ரெடிஸ் மாஸ்டர் சேவையகத்தை உள்ளமைக்கிறது
4. சுய ஆவணப்படுத்தப்பட்ட எடுத்துக்காட்டு உள்ளமைவு கோப்பான /etc/redis.conf உள்ளமைவு கோப்பைப் பயன்படுத்தி ரெடிஸ் கட்டமைக்கப்பட்டுள்ளது. முதலில், அசல் கோப்பின் காப்புப்பிரதியை உருவாக்கி, பின்னர் உங்கள் கட்டளை வரி எடிட்டரைப் பயன்படுத்தி திருத்துவதற்கு அதைத் திறக்கவும்.
# cp /etc/redis.conf /etc/redis.conf.org # vi /etc/redis.conf
5. முன்னிருப்பாக, பிணைப்பு உத்தரவைப் பயன்படுத்தி லூப் பேக் இடைமுகத்தில் இணைப்புகளைக் கேட்கவும் ஏற்றுக்கொள்ளவும் ஒரு ரெடிஸ் நிகழ்வு கட்டமைக்கப்பட்டுள்ளது. பிரதிகளுடன் தொடர்புகொள்வதற்கு, ஐபிவி 4 லூப் பேக் முகவரி மற்றும் அதன் லேன் ஐபி முகவரி அதாவது 10.42.0.247 ஆகியவற்றைக் கேட்க மாஸ்டர் கட்டமைக்கப்பட வேண்டும்.
bind 127.0.0.1 10.42.0.247
6. அடுத்து, பாதுகாக்கப்பட்ட-பயன்முறை அளவுருவை இல்லை
என அமைக்கவும்.
protected-mode no
மேலும், போர்ட் குறியீடு> உத்தரவைப் பயன்படுத்தி அமைக்கப்பட்ட போர்ட் 6379 ஐ ரெடிஸ் கேட்கிறார். பயன்பாட்டு API கள் அல்லது CLI கிளையண்டுகளுடன் தொடர்புகொள்வதற்கான தரவு துறை இது.
port 6379
7. மாஸ்டர்-பிரதி தகவல்தொடர்புகளை விருப்பமாகப் பாதுகாக்க, தேவைப்படும் கட்டளையைப் பயன்படுத்தி எஜமானரைப் பாதுகாக்க முடியும், இதனால் வாடிக்கையாளர்கள்/பிரதிகள் ஏதேனும் கட்டளைகளை இயக்குவதற்கு முன்பு அல்லது பிரதி ஒத்திசைவு செயல்முறையைத் தொடங்குவதற்கு முன் அங்கீகார கடவுச்சொல்லை வழங்க வேண்டும், இல்லையெனில் மாஸ்டர் மறுப்பார் கிளையன்ட்/பிரதி கோரிக்கை (பாதுகாப்பான கடவுச்சொல்லை அமைக்க நினைவில் கொள்ளுங்கள்).
ஆர்ப்பாட்ட நோக்கங்களுக்காக, இது எவ்வாறு செயல்படுகிறது என்பதைக் காண்பிக்க பின்வரும் விருப்பத்தைப் பயன்படுத்துவோம்.
requirepass [email
8. மேலும், ரெடிஸ் பதிவுகள் /var/log/redis/redis.log கோப்பில் சேமிக்கப்படுகின்றன, இது logfile கட்டளையைப் பயன்படுத்தி அமைக்கப்பட்டுள்ளது மற்றும் இயல்புநிலை சேவையக வினைத்திறன் நிலை அறிவிக்கப்படுகிறது, இது loglevel அளவுருவைப் பயன்படுத்தி வரையறுக்கப்படுகிறது.
loglevel notice logfile /var/log/redis/redis.log
9. சென்டோஸ் 8 இல் சிஸ்டம் இயல்புநிலை அமைப்பு மற்றும் சேவை மேலாளர் என்பதால், மேற்பார்வையிடப்பட்ட அளவுருவை சிஸ்டம்டிக்கு அமைப்பதன் மூலம் சிஸ்டம் மேற்பார்வை மரத்துடன் தொடர்பு கொள்ள ரெடிஸை உள்ளமைக்கலாம்.
supervised systemd
10. தேவையான அனைத்து உள்ளமைவுகளையும் செய்த பிறகு, கோப்பைச் சேமித்து மூடவும். புதிய மாற்றங்களைப் பயன்படுத்த ரெடிஸ் சேவையை மறுதொடக்கம் செய்யுங்கள்.
# systemctl daemon-reload # systemctl restart redis
11. ரெடிஸ் சேவையகத்தை அணுக, நாம் redis-cli (redis-server க்கு ஒரு கட்டளை-வரி இடைமுகம்) பயன்படுத்த வேண்டும். இயல்பாக, இது லோக்கல் ஹோஸ்டில் உள்ள சேவையகத்துடன் இணைகிறது (127.0.0.1 போர்ட் 6379 இல்). கடவுச்சொல்லைப் பயன்படுத்தி வாடிக்கையாளர்களிடமிருந்து சேவையகம் பாதுகாக்கப்படுவதால், அங்கீகாரத்திற்கு முன் ஒரு கட்டளையை இயக்குவது தோல்வியடையும் என்பதை நினைவில் கொள்க.
பின்வரும் ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி அங்கீகார கடவுச்சொல்லை வழங்க அங்கீகார கட்டளையைப் பயன்படுத்தவும்.
# redis-cli 127.0.0.1:6379> client list 127.0.0.1:6379> AUTH [email 127.0.0.1:6379> client list
12. ஒரு பிரதியுடன் இணைக்க (அடுத்த பகுதியில் விவரிக்கப்பட்டுள்ளபடி அவற்றை உள்ளமைத்த பிறகு), பிரதி ஐபி முகவரி/ஹோஸ்ட்பெயரைக் குறிப்பிட -h
மற்றும் -p
விருப்பங்களைப் பயன்படுத்தவும். போர்ட் முறையே (போர்ட் 6379 பிரதி ஃபயர்வாலில் திறந்திருக்க வேண்டும் அல்ல).
# redis-cli -h 10.42.0.21 -p 6379
13. அடுத்து, மாஸ்டருக்கு உள்வரும் இணைப்புகளை அனுமதிக்க ஃபயர்வாலில் உள்ள ரெடிஸ் சர்வர் டேட்டா போர்ட்டைத் திறந்து, பின்னர் காட்டப்பட்டுள்ளபடி ஃபயர்வால்-செ.மீ கட்டளையைப் பயன்படுத்தி ஃபயர்வால் விதிகளை மீண்டும் ஏற்றவும்.
# firewall-cmd --zone=public --permanent --add-port=6379/tcp # firewall-cmd --reload
படி 3: ரெடிஸ் பிரதி/அடிமை சேவையகங்களை கட்டமைத்தல்
14. ஒரு ரெடிஸ் நிகழ்வை விரைவாக பறக்க ஒரு பிரதிகளாக அமைக்க, ரெடிஸ்-கிளி பயன்பாட்டைப் பயன்படுத்தி, காட்டப்பட்டுள்ளபடி REPLICAOF கட்டளையை அழைக்கவும்.
# redis-cli replicaof 10.42.0.247 6379 OR # redis-cli 127.0.0.1:6379> REPLICAOF 10.42.0.247 6379
15. பிரதி இணைப்பை நிரந்தரமாக்க, நீங்கள் கட்டமைப்பு கோப்பில் பின்வரும் மாற்றங்களைச் செய்ய வேண்டும். அசல் கோப்பை காப்புப் பிரதி எடுப்பதன் மூலம் தொடங்கவும், பின்னர் அதைத் திருத்தவும்.
# cp /etc/redis.conf /etc/redis.conf.org # vi /etc/redis.conf
16. தரவைப் படிக்க வாடிக்கையாளர்களை பிரதிடன் இணைக்க அனுமதிக்க, பிணைப்பு உத்தரவுக்கு பிரதி ஐபி முகவரியைச் சேர்க்கவும்.
# replica1 bind 127.0.0.1 10.42.0.21 # replica2 bind 127.0.0.1 10.42.0.34
17. ஒரு ரெடிஸ் நிகழ்வை ஒரு பிரதிகளாக கட்டமைக்க, பிரதி அளவுருவைப் பயன்படுத்தி மாஸ்டர் முனையின் ஐபி முகவரி (அல்லது ஹோஸ்ட்பெயர்) மற்றும் போர்ட்டை மதிப்புகளாக அமைக்கவும்.
replicaof 10.42.0.247 6379
18. அடுத்து, கடவுச்சொல்லைப் பயன்படுத்தி எங்கள் முதன்மை நிகழ்வு பாதுகாக்கப்படுவதால், மாஸ்டெராத் அளவுருவைப் பயன்படுத்தி, மாஸ்டரை அங்கீகரிக்க அதை செயல்படுத்த, பிரதி உள்ளமைவில் கடவுச்சொல்லை அமைக்க வேண்டும்.
masterauth [email
19. கூடுதலாக, ஒரு பிரதி மாஸ்டருடனான தொடர்பை இழக்கும்போது, அல்லது நகலெடுக்கும் போது, கிளையன்ட் கோரிக்கைகளுக்கு பதிலளிப்பதற்காக பிரதி கட்டமைக்கப்படுகிறது, ஒருவேளை "காலாவதியானது" தரவுடன். ஆனால் அது முதல் ஒத்திசைவாக இருந்தால், தரவு தொகுப்பு காலியாக இருக்கலாம். இந்த நடத்தை பிரதி-சேவை-பழைய-தரவு அளவுருவால் கட்டுப்படுத்தப்படுகிறது.
மேலும், ரெடிஸ் 2.6 இயல்புநிலையாக பிரதிகள் படிக்க மட்டுமே என்பதால், இது பிரதி-படிக்க-மட்டும் அளவுருவால் கட்டுப்படுத்தப்படுகிறது. உங்கள் பயன்பாட்டுத் தேவைகளுக்கு ஏற்ப பிற பிரதி உள்ளமைவு மாற்றங்களைச் செய்யலாம்.
20. தேவையான அனைத்து மாற்றங்களையும் நீங்கள் செய்தவுடன், அனைத்து பிரதிகளிலும் ரெடிஸ் சேவையை மறுதொடக்கம் செய்யுங்கள்.
# systemctl restart redis
21. மேலும், மாஸ்டர் மற்றும் வாடிக்கையாளர்களிடமிருந்து பிரதிகளுக்கு இணைப்புகளை அனுமதிக்க ஃபயர்வாலில் போர்ட் 6379 ஐத் திறந்து, ஃபயர்வால் விதிகளை மீண்டும் ஏற்றவும்.
# firewall-cmd --zone=public --permanenent --add-port=6379/tcp # firewall-cmd --reload
படி 4: முதன்மை-பிரதி பிரதி நிலையை சரிபார்க்கவும்
22. முதன்மை-பிரதி பிரதி உள்ளமைவு முடிந்ததும், அமைவு பின்வருமாறு சிறப்பாக செயல்படுகிறதா என்பதை நாங்கள் சரிபார்க்கலாம்.
மாஸ்டரில், பின்வரும் கட்டளைகளை இயக்கவும்.
# redis-cli 127.0.0.1:6379> AUTH [email 127.0.0.1:6379> info replication
23. மேலும், பிரதி/அடிமைகளின் பிரதி நிலையை பின்வருமாறு சரிபார்க்கவும்.
# redis-cli 127.0.0.1:6379> info replication
23. இப்போது முதன்மை நிகழ்வில் ஒரு முக்கிய மதிப்பை அமைப்பதன் மூலம் நகலெடுப்பைச் சோதித்து, தரவு பிரதிகளுடன் ஒத்திசைக்கப்பட்டுள்ளதா என்று சரிபார்க்கலாம்.
மாஸ்டர் மீது, இதைச் செய்யுங்கள்:
# redis-cli 127.0.0.1:6379> AUTH [email 127.0.0.1:6379> set domain 'linux-console.net'
24. பின்னர் காட்டப்பட்டுள்ளபடி தரவு பிரதிகளுடன் ஒத்திசைக்கப்பட்டுள்ளதா என சரிபார்க்கவும்.
# redis-cli 127.0.0.1:6379> get domain
25. ரெடிஸுக்கு ஒரு அம்சம் உள்ளது, இது போதுமான பிரதிகளை கிடைக்கவில்லை எனில் சில எழுத்துக்களை இழக்கும் அபாயத்தை ஒரு குறிப்பிட்ட எண்ணிக்கையிலான வினாடிகளுக்கு கட்டுப்படுத்த ஒரு முதன்மை நிகழ்வை செயல்படுத்துகிறது.
இதன் பொருள் என்னவென்றால், N பிரதிகளை விட குறைவாக இணைக்கப்பட்டிருந்தால், M வினாடிகளுக்கு குறைவான அல்லது சமமானதாக இருந்தால், முறையே min-replicas-to-write மற்றும் min-replicas-max-lag விருப்பங்களால் கட்டுப்படுத்தப்படும்.
அவற்றை அமைக்க, பின்வரும் ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி, அவற்றை அமைக்கவும் மற்றும் /etc/redis.conf இல் உங்கள் அமைவு தேவைகளுக்கு ஏற்ப மதிப்புகளை அமைக்கவும். இந்த உள்ளமைவு, கடைசி பிங் முதல் பிரதிகள் வரை, 10 விநாடிகளுக்குப் பிறகு, ஆன்லைனில் 2 க்கும் குறைவான பிரதிகள் இருந்தால், மாஸ்டர் எழுதுவதை ஏற்றுக்கொள்வதை நிறுத்திவிடுவார்.
min-replicas-to-write 2 min-replicas-max-lag 10
மீதமுள்ள /etc/redis.conf உள்ளமைவு கோப்பில் கூடுதல் விருப்பங்களை நீங்கள் காணலாம் மற்றும் ரெடிஸ் ஆவணத்தில் நகலெடுப்பது பற்றி மேலும் விவரங்களுக்கு படிக்கலாம்.
அடுத்த கட்டுரையில், சென்டோஸ் 8 இல் சென்டினலுடன் அதிக கிடைக்கும் தன்மைக்கு ரெடிஸை எவ்வாறு அமைப்பது என்பதை நாங்கள் காண்போம். அதுவரை, பூட்டியே இருங்கள், உங்கள் கருத்துக்களைப் பகிர்ந்து கொள்ள நினைவில் கொள்ளுங்கள், கீழே உள்ள எங்கள் கருத்து படிவத்தைப் பயன்படுத்தி கேள்விகள் எங்களை அடையலாம்.