2 קלח - CentOS 8 -ב Sentinel םע ההובג תונימזל Redis רידגהל דציכ


Redis לש הצפהה תכרעמ תועצמאב ההובג תונימז תקפסמ Redis Sentinel. Sentinel ירקמ לע חקפל רזוע Redis, תסירפל רשפאמ ךכבו יטמוטוא ןפואב םידיקפת תופלחה השעיו םילשכ רתאל Redis םילשכ לש גוס לכ ינפב

.םיוסמ תוריש עיצמה רטסאמ יחכונה תא תולגל תוחוקלל הרוצת קפסמו דרוי רטסאמה רשאכ רטסאמל קתעה םודיקל יטמוטוא ןולשיכ ,טפירקס תועצמאב תכרעמה להנמ לע וא םירחא םיכילהת/םיתוריש לע תועדוהב ךמות ,(

.Sentinel לש רבעמ ןולשיכ תקידבו הנקתהה בצמ תקידב ,ףיקז תרוצת תרדגה ללוכ ,CentOS 8 -ב Redis Sentinel םע ההובג תונימזל Redis תא רידגהל דציכ םיגדמ הז רמאמ

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

    .חוקלה תולועפב ךישמהל רשפאיש המ ,לשכנ ןולשיכ רשאל ולכויו ןולשיכה יבגל ומיכסי Sentinel3 -ו Sentinels2 ,לשכנ רטסאמה םא ,ליעל ונלש ךרעמב בשחתהב .הנתיא הסירפ ךרוצל לניטנס לש םירקמ השולש תוחפל

    Redis Sentinel תוריש לש הלעפהו הלעפה :1 בלש

    .(Redis לופכש תרדגהב ונישע רבכש המ) Redis תרש דצל ןקתומ Redis Sentinel תוריש ,CentOS 8 -ב .1

    :(םיתמצה לכב תאז השע) ולש סוטטסה תקידב ידי לע לעופ אוהש אדוו ,ןכ ומכ .תואבה systemctl תודוקפב שמתשה ,תכרעמה לוחתא תעב תיטמוטוא ליחתהל ול רשפאלו Redis לש ףיקזה תוריש תא ליעפהל ידכ

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

    Redis יתמצ לכב Redis Sentinel לש הרוצת תעיבק :2 בלש

    .ימצע דועיתב etc/redis-sentinel.conf/ הרוצתה ץבוקב שמתשה ,ותרוצת תא עובקל ידכ .Redis תרש לש וזל המוד הרוצת תינבת שי Sentinel תורישל .ונלש םיתמצה לכב Sentinel תא רידגהל דציכ םיריבסמ ונא ,הז

    .הכירעל ותוא חתפו ירוקמה ץבוקה לש יוביג רוצ ,תישאר

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

    .(0.0.0.0 רידגהל וא) הבוגתב bind רטמרפ תא ריאשהל ךילעש בל םיש .םירקמה לכב תאז תמא ,26379 האיציב בישקמ Sentinel ,לדחמ תרירבכ .3

    port 26379
    

    .תישיא םאתומ םשב "mymaster"\תא ףילחהל לוכי התא .םימיכסמ ןיינמ תוכז ישנא ינש תוחפל םא קר "הטמל יביטקייבוא"\בצמב הז תא לוקשלו ונלש רטסאמה לע חקפל לניטנסל רומא ,ןכמ רחאל .4

    #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
    

    .שדחמ ףיקזה תוריש תלעפה תעב ".ןיוצש םשה םע הזכ רטסאמ ןיא"\האיגשה תא עונמל ידכ auth-pass-sentin -ה תרהצה ינפל תמקוממ תויהל תבייח ףיקזה גצ תרהצה :בושח

    .ןגומה עפומה תא תמאל לכוי Sentinel עפומש ידכ המסיסה תא קפס ,(רטסאמל ונלש הרקמב) המסיס תרדגומ חוקיפל Redis רטסאמל םא .5

     
    sentinel auth-pass mymaster [email 
    

    ."הטמל יביטקייבוס"\בצמב תאז לוקשל ידכב שיגנ יתלב תויהל ךירצ (ףרוצמ ףיקז וא קתעה לכ וא) רטסאמהש היינשה תויפלאה רפסמ תא עבק זאו .6

    .(היינשה תויפלא 1000- ל ךרע הווש תחא היינש) תוינש 5 ךותב ונלש גניפהמ הבושת לבקנ אלש עגרב ןולשיככ בשחיי רטסאמהש השוריפ האבה הרוצתה

    sentinel down-after-milliseconds mymaster 5000
    

    .(הרוצתה ץבוקב רטמרפה דועית תא וארק) םיבר םירבד רידגמה היינשה תויפלאב ןולשיכה לש בוצקה ןמז תא ורידגה ,ןכמ רחאל .7

    sentinel failover-timeout mymaster 180000
    

    .שדחה רטסאמל םדוקי ינשה ןכש דחא קתעה עבקנ ,םילפכושמ םיקתוע ינש ונל שיש ןוויכמ .תחא הנועבו תעב לשכ רחאל שדחה רטסאמה שומישל שדחמ רידגהל ןתינש םיקתעהה רפסמ תא רדגה ןכמ רחאל .8

    sentinel parallel-syncs mymaster 1
    

    .םיהז תויהל םיכירצ Sentinel2 -ו Reddis Replica1 -ו Sentinel2 -ו Redis Replica1 -ב הרוצתה יצבוקש בל םיש

    .םינורחאה םייונישה תא ליחהל ידכ םיתמצה לכב Sentinel יתוריש תא שדחמ לעפה ,ןכמ רחאל .9

    # systemctl restart redis-sentinel
    

    .שאה תמוח לש cmd -ה תועצמאב ,םירחאה Sentinel יעפוממ םירוביח לבקל ,רבדל ליחתהל Sentinel יעפומל רשפאל ידכ םיתמצה לכב שאה תמוחב 26379 האיצי תא חתפ ,ןכמ רחאל .10

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

    .וב ןייעלו עפומ לכל Sentinel לש הרוצתה ץבוק תחיתפ ידי לע תאז רשאל ךתורשפאב .םיקתעה לע ףסונ עדימ םע יטמוטוא ןפואב הרוצתה תא ןכדעי Sentinel יכ ןייצל בושח .תיטמוטוא ולגתי םיקתעה לכ .11

    .אבה ךסמה םוליצב גצומש יפכ םיעודיה םיקתעההו תועודיה תורהצה תא תוארל רומא התא ,רטסאמה לש הרוצתה ץבוק ףוסב לכתסמ התא רשאכ ,אמגודל

    .replica2 -ו replica1 -ב הרקמ ותוא תויהל רומא הז

    .הנקתהב שדח Sentinel הלגתמש םעפ לכבו לשכנ ןולשיכ ךלהמב בא סוטטסל קתעה קתעמש םעפ לכב תנכדעתמ/תבתכושמ Sentinel -ה תרוצתש בל םיש

    Redis Sentinel לש הנקתהה בצמ תא קודב :3 בלש

    .ןמקלדכ info sentinel הדוקפה תועצמאב ,רטסאמה לע Sentinel עדימ/בצמ תא קודב תעכ .12

    # redis-cli -p 26379 info sentinel
    

    .םיפיקז השולשו םידבע/םיקתעה ינש ונל שי ,אבה ךסמה םוליצב הארנש יפכ הדוקפה טלפמ

    .master sentinel הדוקפב שמתשה ,(mymaster ארקנ) רטסאמה תודוא טרופמ עדימ גיצהל ידכ .13

    # redis-cli -p 26379 sentinel master mymaster
    

    .המאתהב ףיקזה תדוקפבו ףיקזה םידבעה הדוקפב שמתשה ,ףיקזהו םידבעה תודוא טרופמ עדימ גיצהל ידכ .14

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

    .ןמקלדכ sentinel get-master-addr-by-name הדוקפה תועצמאב םיידבעה םיעפומה תומש יפל רטסאמה תבותכ תא לאש ,ןכמ רחאל .15

    :יחכונה רטסאמה עפומ לש האיציהו IP -ה תבותכ תויהל ךירצ טלפה

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

    Sentinel לש Failover -ה תא קודב :4 בלש

    .אבה ןפואב םידבעה/םיקתעה לע יחכונה רטסאמה תבותכ תא ליאש ןכמ רחאל .תוינש 60 ךשמל ןושיל (6379 האיציב לעופ) סידר רטסאמ תא ךופה ,לניטנס/סידר רטסאמב .ונלש Sentinel תנקתהב יטמוטוא ןולשיכ קוד

    # 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
    

    .אבה ךסמה םוליצב הארנש יפכ IP 10.42.0.34 -ה תבותכ םע slave2/קתעה תעכ אוה שדחה רטסאמה ,התליאשל טלפהמ

    .ונילא ךלש רעשה אוה הטמלש בושמה ספוט ,תותליאשל וא ףתשל תובשחמ ךל שי םא ךא .Redis Sentinel דועיתמ ףסונ עדימ לבקל לכות

    .םינושארה םיינשהמ יאמצע רמאמ היהי הז .CentOS 8 -ב סידר לוכשא םיקהל דציכ ןחבנ ,וז הרדס לש ןורחאהו אבה קלחב