சென்டோஸ் 8 - பகுதி 2 இல் சென்டினலுடன் அதிக கிடைக்கும் தன்மைக்கு ரெடிஸை எவ்வாறு அமைப்பது


ரெடிஸ் சென்டினல் விநியோகிக்கப்பட்ட அமைப்பு வழியாக ரெடிஸ் அதிக கிடைக்கும் தன்மையை வழங்குகிறது. ரெண்டிஸ் நிகழ்வுகளை கண்காணிக்கவும், தோல்விகளைக் கண்டறியவும், பாத்திரங்கள் தானாகவே சுவிட்சுகள் செய்யவும் சென்டினல் உதவுகிறது, இதனால் எந்தவிதமான தோல்விகளையும் எதிர்க்க ஒரு ரெடிஸ் வரிசைப்படுத்தல் உதவுகிறது.

இது ரெடிஸ் நிகழ்வுகளை (மாஸ்டர் மற்றும் பிரதிகளை) கண்காணிப்பதை கொண்டுள்ளது, பிற சேவைகள்/செயல்முறைகள் அல்லது கணினி நிர்வாகியை ஸ்கிரிப்ட் வழியாக அறிவிப்பதை ஆதரிக்கிறது, மாஸ்டர் கீழே இறங்கி, தற்போதையதைக் கண்டறிய வாடிக்கையாளர்களுக்கு உள்ளமைவை வழங்கும் போது ஒரு மாஸ்டருக்கு ஒரு பிரதிகளை ஊக்குவிக்க தானியங்கி தோல்வி. ஒரு குறிப்பிட்ட சேவையை வழங்கும் மாஸ்டர்.

இந்த கட்டுரை சென்டோஸ் 8 இல் ரெடிஸ் சென்டினலுடன் அதிக கிடைக்கும் தன்மைக்கு ரெடிஸை எவ்வாறு அமைப்பது என்பதை நிரூபிக்கிறது, இதில் செண்டினல்களை உள்ளமைத்தல், அமைவு நிலையை சரிபார்த்தல் மற்றும் சென்டினல் செயலிழப்பை சோதித்தல்.

  1. சென்டோஸ் 8 - பகுதி 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

ரெடிஸ் சென்டினல் ஆவணங்களின்படி, ஒரு வலுவான வரிசைப்படுத்தலுக்கு குறைந்தது மூன்று சென்டினல் நிகழ்வுகள் தேவை. மேலே உள்ள எங்கள் அமைப்பைக் கருத்தில் கொண்டு, மாஸ்டர் தோல்வியுற்றால், சென்டினெல்ஸ் 2 மற்றும் சென்டினல் 3 தோல்வி குறித்து ஒப்புக் கொள்ளும், மேலும் தோல்வியுற்றதை அங்கீகரிக்க முடியும், இதனால் கிளையன்ட் செயல்பாடுகளை தொடர முடியும்.

படி 1: ரெடிஸ் சென்டினல் சேவையைத் தொடங்குதல் மற்றும் இயக்குதல்

1. சென்டோஸ் 8 இல், ரெடிஸ் சென்டினல் சேவை ரெடிஸ் சேவையகத்துடன் நிறுவப்பட்டுள்ளது (நாங்கள் ஏற்கனவே ரெடிஸ் ரெப்ளிகேஷன் அமைப்பில் செய்தோம்).

ரெடிஸ் செண்டினல் சேவையைத் தொடங்க மற்றும் கணினி துவக்கத்தில் தானாகவே தொடங்க அதை இயக்க, பின்வரும் systemctl கட்டளைகளைப் பயன்படுத்தவும். மேலும், அதன் நிலையைச் சரிபார்ப்பதன் மூலம் அது இயங்குகிறது என்பதை உறுதிப்படுத்தவும் (எல்லா முனைகளிலும் இதைச் செய்யுங்கள்):

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

படி 2: அனைத்து ரெடிஸ் முனைகளிலும் ரெடிஸ் சென்டினலை கட்டமைத்தல்

2. இந்த பிரிவில், எங்கள் எல்லா முனைகளிலும் சென்டினலை எவ்வாறு கட்டமைப்பது என்பதை விளக்குகிறோம். சென்டினல் சேவை ரெடிஸ் சேவையகத்தைப் போன்ற உள்ளமைவு வடிவமைப்பைக் கொண்டுள்ளது. இதை உள்ளமைக்க, /etc/redis-sentinel.conf சுய ஆவணப்படுத்தப்பட்ட உள்ளமைவு கோப்பைப் பயன்படுத்தவும்.

முதலில், அசல் கோப்பின் காப்புப்பிரதியை உருவாக்கி அதைத் திருத்துவதற்குத் திறக்கவும்.

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

3. முன்னிருப்பாக, சென்டினல் போர்ட் 26379 ஐக் கேட்கிறது, எல்லா நிகழ்வுகளிலும் இதைச் சரிபார்க்கவும். பிணைப்பு அளவுருவை நீங்கள் கருத்து தெரிவிக்க வேண்டும் (அல்லது 0.0.0.0 என அமைக்கவும்).

port 26379

4. அடுத்து, எங்கள் எஜமானரைக் கண்காணிக்க சென்டினலிடம் சொல்லுங்கள், குறைந்தது 2 கோரம் செண்டினல்கள் ஒப்புக் கொண்டால் மட்டுமே அதை Ob "குறிக்கோள் கீழ்" நிலையில் கருத்தில் கொள்ளுங்கள். நீங்கள் my "மைமாஸ்டர்" ஐ தனிப்பயன் பெயருடன் மாற்றலாம்.

#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

முக்கியமானது: பிழையைத் தவிர்ப்பதற்காக சென்டினல் மானிட்டர் அறிக்கை சென்டினல் அங்கீகார-பாஸ் அறிக்கையின் முன் வைக்கப்பட வேண்டும் the "குறிப்பிட்ட பெயருடன் அத்தகைய மாஸ்டர் இல்லை." செண்டினல் சேவையை மறுதொடக்கம் செய்யும் போது.

5. கண்காணிக்க ரெடிஸ் மாஸ்டருக்கு கடவுச்சொல் தொகுப்பு இருந்தால் (எங்கள் விஷயத்தில் மாஸ்டர் உள்ளது), கடவுச்சொல்லை வழங்கவும், இதனால் சென்டினல் உதாரணம் பாதுகாக்கப்பட்ட நிகழ்வுடன் அங்கீகரிக்க முடியும்.

 
sentinel auth-pass mymaster [email 

6. பின்னர் மில்லி விநாடிகளின் எண்ணிக்கையை அமைக்கவும் (அல்லது இணைக்கப்பட்ட பிரதி அல்லது செண்டினல்) அதை Sub "அகநிலை கீழே" நிலையில் கருத்தில் கொள்ள முடியாது.

பின்வரும் உள்ளமைவு என்பது 5 வினாடிகளுக்குள் எங்கள் பிங்கிலிருந்து எந்த பதிலும் கிடைக்காதவுடன் மாஸ்டர் தோல்வியுற்றதாகக் கருதப்படுவார் (1 வினாடி 1000 மில்லி விநாடிகளுக்கு சமம்).

sentinel down-after-milliseconds mymaster 5000

7. அடுத்து, பல விஷயங்களை வரையறுக்கும் மில்லி விநாடிகளில் தோல்வி நேரத்தை முடிக்கவும் (உள்ளமைவு கோப்பில் அளவுருவின் ஆவணங்களைப் படிக்கவும்).

sentinel failover-timeout mymaster 180000

8. பின்னர் ஒரே நேரத்தில் தோல்வியுற்ற பிறகு புதிய மாஸ்டரைப் பயன்படுத்த மறுகட்டமைக்கக்கூடிய பிரதிகளின் எண்ணிக்கையை அமைக்கவும். எங்களிடம் இரண்டு பிரதிகள் இருப்பதால், ஒரு பிரதி ஒன்றை அமைப்போம், மற்றொன்று புதிய மாஸ்டருக்கு உயர்த்தப்படும்.

sentinel parallel-syncs mymaster 1

Redis Replica1 மற்றும் Sentinel2, மற்றும் Reddis Replica1 மற்றும் Sentinel2 ஆகியவற்றில் உள்ள கட்டமைப்பு கோப்புகள் ஒரே மாதிரியாக இருக்க வேண்டும் என்பதை நினைவில் கொள்க.

9. அடுத்து, சமீபத்திய மாற்றங்களைப் பயன்படுத்த அனைத்து முனைகளிலும் சென்டினல் சேவைகளை மறுதொடக்கம் செய்யுங்கள்.

# systemctl restart redis-sentinel

10. அடுத்து, அனைத்து முனைகளிலும் ஃபயர்வாலில் போர்ட் 26379 ஐத் திறக்கவும், சென்டினல் நிகழ்வுகளைப் பேசத் தொடங்கவும், மற்ற சென்டினல் நிகழ்வுகளிலிருந்து இணைப்புகளைப் பெறவும், ஃபயர்வால்-செ.மீ.

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

11. அனைத்து பிரதிகளும் தானாகவே கண்டுபிடிக்கப்படும். முக்கியமாக, சென்டினல் பிரதிகளைப் பற்றிய கூடுதல் தகவலுடன் தானாகவே உள்ளமைவைப் புதுப்பிக்கும். ஒவ்வொரு நிகழ்விற்கும் சென்டினல் உள்ளமைவு கோப்பைத் திறப்பதன் மூலம் இதை உறுதிப்படுத்தலாம் மற்றும் அதன் மூலம் பார்க்கலாம்.

எடுத்துக்காட்டாக, நீங்கள் மாஸ்டரின் உள்ளமைவு கோப்பின் முடிவைப் பார்க்கும்போது, பின்வரும் ஸ்கிரீன்ஷாட்டில் காட்டப்பட்டுள்ளபடி அறியப்பட்ட-செண்டினல்கள் மற்றும் அறியப்பட்ட-பிரதி அறிக்கைகளைப் பார்க்க வேண்டும்.

பிரதி 1 மற்றும் பிரதி 2 இல் இது ஒரே மாதிரியாக இருக்க வேண்டும்.

சென்டினல் உள்ளமைவு ஒவ்வொரு முறையும் ஒரு பிரதி தோல்வியுற்ற போது முதன்மை நிலைக்கு உயர்த்தப்படும் மற்றும் ஒவ்வொரு முறையும் ஒரு புதிய சென்டினல் அமைப்பில் கண்டுபிடிக்கப்படும் போது மீண்டும் எழுதப்படுகிறது/புதுப்பிக்கப்படுகிறது.

படி 3: ரெடிஸ் சென்டினல் அமைவு நிலையை சரிபார்க்கவும்

12. இப்போது தகவல் சென்டினல் கட்டளையைப் பயன்படுத்தி மாஸ்டரின் சென்டினல் நிலை/தகவலை பின்வருமாறு சரிபார்க்கவும்.

# redis-cli -p 26379 info sentinel

பின்வரும் ஸ்கிரீன்ஷாட்டில் காணப்படுவது போல் கட்டளையின் வெளியீட்டிலிருந்து, எங்களிடம் இரண்டு பிரதிகள்/அடிமைகள் மற்றும் மூன்று செண்டினல்கள் உள்ளன.

13. மாஸ்டர் பற்றிய விரிவான தகவல்களைக் காட்ட (மைமாஸ்டர் என அழைக்கப்படுகிறது), செண்டினல் மாஸ்டர் கட்டளையைப் பயன்படுத்தவும்.

# redis-cli -p 26379 sentinel master mymaster

14. அடிமைகள் மற்றும் செண்டினல்கள் பற்றிய விரிவான தகவல்களைக் காட்ட, முறையே செண்டினல் அடிமைகள் கட்டளை மற்றும் செண்டினல் செண்டினல்கள் கட்டளையைப் பயன்படுத்தவும்.

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

15. அடுத்து, அடிமை நிகழ்வுகளிலிருந்து சென்டினல் get-master-addr-by-name கட்டளையைப் பயன்படுத்தி பின்வருமாறு எஜமானரின் முகவரியைக் கேளுங்கள்.

வெளியீடு தற்போதைய முதன்மை நிகழ்வின் ஐபி முகவரி மற்றும் துறைமுகமாக இருக்க வேண்டும்:

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

படி 4: சென்டினல் தோல்வியை சோதிக்கவும்

16. இறுதியாக, எங்கள் சென்டினல் அமைப்பில் தானியங்கி செயலிழப்பை சோதிக்கலாம். ரெடிஸ்/சென்டினல் மாஸ்டரில், ரெடிஸ் மாஸ்டரை (போர்ட் 6379 இல் இயங்கும்) 60 விநாடிகள் தூங்கச் செய்யுங்கள். பின்னர் பிரதி/அடிமைகளில் தற்போதைய எஜமானரின் முகவரியை பின்வருமாறு வினவவும்.

# 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

வினவலுக்கான வெளியீட்டில் இருந்து, புதிய மாஸ்டர் இப்போது பின்வரும் ஸ்கிரீன்ஷாட்டில் காணப்படுவது போல் ஐபி முகவரி 10.42.0.34 உடன் பிரதி/ஸ்லேவ் 2 ஆக உள்ளது.

ரெடிஸ் சென்டினல் ஆவணங்களிலிருந்து கூடுதல் தகவல்களைப் பெறலாம். பகிர்வதற்கு அல்லது வினவுவதற்கு உங்களுக்கு ஏதேனும் எண்ணங்கள் இருந்தால், கீழேயுள்ள பின்னூட்ட படிவம் எங்களுக்கு உங்கள் நுழைவாயிலாகும்.

இந்த தொடரின் அடுத்த மற்றும் கடைசி பகுதியில், சென்டோஸ் 8 இல் ஒரு ரெடிஸ் கிளஸ்டரை எவ்வாறு அமைப்பது என்று பார்ப்போம். இது முதல் இரண்டிலிருந்து ஒரு சுயாதீனமான கட்டுரையாக இருக்கும்.