3 קלח - CentOS 8 -ב סידר לוכשא ןיקתהל דציכ


Redis Cluster תנוכת אוה Redis תועצמאב רבעב המשוי רשא ההובג תונימזו לופכש ,יטמוטוא בולישב תכמותה תינבומ Sentinels. לוכשאב םיתמצ בור םע רשקתל םילגוסמ םניא וא םילשכנ (םירטסאמ דחוימב) םימיוסמ

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

.דבע שי רטסאמ לכל רשאכ ,םידבע השולשו םינודא השולש םע םיתמצ 6 תוחפל לולכל הכירצ ההובג תונימזל רתויב המיאתמה הנקתהה םלוא .םיישאר םיתמצ 3 תוחפל ליכהל בייחמ יופצכ דבועש "ילמינימה לוכשאה"\,Re

.ךכב תכמות תוחוקל תיירפס לכ אל ,ףסונב .Docker תחת לשמל ,שדחמ תופלחומ TCP תואיצי וא IP תובותכ ןהבש ולאכ םגו NATted תוביבסב הכימת תורסחש תולבגמ המכ םג שי Redis Cluster -ל :בושח

.לוכשאה לשכ תא קודבלו לוכשא רוציל ,לוכשאה יתמצ תא רידגהל ,סידר תא ןיקתהל דציכ ללוכ אוה .CentOS 8 -ב (תבשומ לוכשא בצמ רשאכ) סידר לוכשא רידגהל דציכ הארמ הז רמאמ

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

    Redis Master1: 10.42.0.247
    Redis Master2: 10.42.0.197
    Redis Master3: 10.42.0.132
    
    Redis Slave1: 10.42.0.200
    Redis Slave2: 10.42.0.21
    Redis Slave3: 10.42.0.34
    

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

    םיתמצה לכב Redis תנקתה :1 בלש

    .גצומש יפכ DNF תוליבחה להנמ תועצמאב Redis לודומ תנקתהל האבה הדוקפה תא לעפהו ,SSH תועצמאב םיעפומה לכל סנכיה .1

    # dnf module install redis
    

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

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

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

    .םיתמצה לכב ןאכ תורוצתה תא עצבל רוכז .Redis לוכשא םיתמצ תא רידגהל דציכ ראתמ הז ףיעס .3

    .ךתריחבל הדוקפ תרושב טסקט ךרוע תועצמאב ותכירע ינפל ירוקמה ץבוקה לש יוביג רוצ ,ץלמומ גהונכ .Redis תרש תא רידגהל ידכ etc/redis.conf/ הרוצתה ץבוקב שמתשה

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

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

    bind  10.42.0.247
    

    .לוכשאב םירחאה םירקמהמ םירוביח רשפאל ידכ no -ל ןגומה בצמה תא רדגה ןכמ רחאל

    protected-mode no
    

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

    port 6379
    

    .לוכשאה בצמ תא ליעפמ ,<דוק /> ןכ <דוק> ל רדגומ אוה רשאכ ,לוכשאל םאתומה רטמרפה .ולש תוישומישה תונוכתהמ המכ רידגתו לוכשאה בצמ תא רשפאת האבה םירטמרפה תכרע .5

    cluster-enabled yes
    

    .שמתשמה ידי לע הכירעל ןתינ וניאו (dir רטמרפה תועצמאב var/lib/redis/תרדגומ לדחמה תרירב) הדובעה תיירפסב רצונ ץבוקה .(nodes-6379.conf לשמל) לוכשא תמוצ לש לוכשאה תרוצת ץבוק םש תא רידגמ c

    cluster-config-file nodes-6379.conf
    

    .תוינש 15 -ל ךרע הווש 15000 לש ךרע .לשכ בצמב בשחיהל ידכ ןימז תויהל לוכי אל עפומש ,היינשה תויפלאב ילמיסקמה ןמזה ךשמ תעיבקל תשמשמ איה ,תמוצ-לוכשא לש ןמז קספ איה תישומיש האבה לוכשאה תורשפא

    cluster-node-timeout 15000
    

    .ירוקמה םינותנה ךרעמ תא שדחמ תונבל ידכב תרשה לוחתא ךלהמב ועמשוי םינותנה .תרשה ידי לע החלצהב הלבקתהש הביתכ תלועפ לכ (הדובעה תיירפסב רצונש appendonly.aof ץבוקב) םשור אוה :(AOF) דבלב ףסוה ץבו

    .<דוק /> ןכ <דוק> ל יתפסותה רטמרפה תא רדגה ,תאז רשפאל ידכ

    appendonly yes
    

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

    # systemctl restart redis
    

    .var/log/redis/redis.log/ תבותכב אצמנה ןמויה ןמויב תאז קודבל ןתינ .ההזמ לעב תויהל רומא לוכשא תמוצ לכ ,הז בלשב .8

    # cat /var/log/redis/redis.log
    

    .Redis לוכשא לש TCP ירוביחל תיסיסב השירד יהוז .(יראניב לוקוטורפב שמתשמה תמוצל תמוצ ןיב תרושקת ץורע) תולוכשאה סובוטואל תשמשמ תרחואמה האיציה .םירקמה לכב 16379 -ו 6397 האיציה תא חתפ ,ןכמ רחאל

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

    סידר לוכשא תריצי :3 בלש

    .רטסאמ לכל דחא קתעה רוציל ושוריפ - replica-replica 1 -ו תולוכשא תריצי רשפאמ --cluster create .אבה ןפואב redis-cli הדוקפה תרוש חוקלב שמתשה ,לוכשאה תא רוציל ידכ

    .םידבע 3- ו םינודא 3 ונל ויהי ,םיתמצ 6 תללוכה ונלש הנקתהה רובע

    .הז רדסב ,ינשה רטסאמה תא לפכשמ ינשה דבעה ,10.42.0.247:6379 רמולכ ןושארה רטסאמה תא לפכשמ 10.42.0.200:6379 רמולכ ןושארה דבעה . (S) םידבעכ ובשחי םיאבה תשולשו (M)

    .ליעל ונלש תינויגהה הרדגהה תא גציית האצותהש ןפואב תבצועמ האבה הדוקפה

    # redis-cli --cluster create 10.42.0.247:6379 10.42.0.197:6379 10.42.0.132:6379 10.42.0.200:6379 10.42.0.21:6379 10.42.0.34:6379 --cluster-replicas 1
    

    .לוכשאה יתמצ לכ תא םושרל ידכ ( -h לגדה תועצמאב ולש IP -ה תבותכ תא ןייצ) חראמ לכב האבה הדוקפה תא לעפה ,החלצהב לוכשאה תריצי רחאל .11

    # redis-cli -h 10.42.0.247 -p 6379 cluster nodes
    

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

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

    Redis לש לוכשא ןולשיכ תקידב :4 בלש

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

    # redis-cli -h 10.42.0.247 -p 6379 cluster nodes  | grep master
    

    .סידר ידבעל בל ומיש ,ןכ ומכ

    # redis-cli -h 10.42.0.247 -p 6379 cluster nodes  | grep slave
    

    .לוכשאב באה יתמצ לכ תא קודבנו 10.42.0.197 לשמל באה יתמצמ דחאב Redis תוריש תא רוצענ ואוב ,ןכמ רחאל .13

    # systemctl stop redis
    # redis-cli -h 10.42.0.247 -p 6379 cluster nodes | grep master
    

    .בא בצמל הלעוה 10.42.0.21:6379 ולש דבעהו לשוכ בצמב אצמנ 10.42.0.197:6367 תמוצהש תוארל ולכות אבה ךסמה םוליצמ

    .לוכשאב םירטסאמה לכ תא קודבנו לשוכה תמוצב בוש Redis תוריש תא ליחתנ ואוב וישכע .14

    # systemctl start redis
    # redis-cli -h 10.42.0.247 -p 6379 cluster nodes  | grep master
    

    .דבע תעכ אוה לשוכה רטסאמהש אדוול ידכ לוכשאה ידבע תא קודב ,ןכ ומכ

    # redis-cli -h 10.42.0.247 -p 6379 cluster nodes  | grep slave
    

    סידר לוכשא יבחרב םינותנ לופכש תקידב :5 בלש

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

    # redis-cli -c -h 10.42.0.247 -p 6379 set name 'TecMint.com'
    # redis-cli -c -h 10.42.0.247 -p 6379 get name
    # redis-cli -c -h 10.42.0.21 -p 6379 get name
    # redis-cli -c -h 10.42.0.132 -p 6379 get name
    # redis-cli -c -h 10.42.0.200 -p 6379 get name
    # redis-cli -c -h 10.42.0.197 -p 6379 get name
    # redis-cli -c -h 10.42.0.34 -p 6379 get name
    

    .Redis לוכשא טרפמו Redis לוכשא ךירדמ :ימשרה דועיתב ףסונ עדימ אוצמל לכות ,etc/redis.conf/ ץבוק ראשב בטיה ודעותש הרוצת לש םירחא םיבר םירטמרפ םנשי .ההובג תונימזו לופכש ,תיטמוטוא החבשה גישהל ת

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