溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Redis集群怎么調(diào)整節(jié)點的主從關(guān)系

發(fā)布時間:2020-06-04 13:23:49 來源:億速云 閱讀:2352 作者:Leah 欄目:系統(tǒng)運(yùn)維

Redis集群怎么調(diào)整節(jié)點的主從關(guān)系?相信很多新手小白還沒學(xué)會這個技能,通過這篇文章的總結(jié),希望你能學(xué)會調(diào)整Redis集群的節(jié)點主從關(guān)系。

一.概述

Redis集群創(chuàng)建后,可能會出現(xiàn)互為主從關(guān)系的節(jié)點從屬于同一臺服務(wù)器的情況。在此種情況下,若
服務(wù)器故障宕機(jī)或需要停機(jī)維護(hù),互為主從關(guān)系的節(jié)點同時停止運(yùn)行,導(dǎo)致redis集群暫時失去一部
分slot插槽。此時,redis集群為fail狀態(tài),對其進(jìn)行的數(shù)據(jù)讀寫操作均無法正常進(jìn)行。為避免此種情
況的發(fā)生,應(yīng)對redis集群節(jié)點的主從關(guān)系進(jìn)行調(diào)整,使互為主從關(guān)系的節(jié)點分屬于不同的服務(wù)器。

二.調(diào)整方法描述

1.使用redis-trib.rb腳本將待調(diào)整的從節(jié)點從redis集群中刪除。(執(zhí)行此步操作時,從節(jié)點會從redis集群中去除。同時,此從節(jié)點進(jìn)程會被殺掉。)命令如下:
redis-trib.rb del-node 集群中某節(jié)點IP:PORT 待調(diào)整的從節(jié)點ID
2.刪除待調(diào)整從節(jié)點rdb子目錄下的所有文件。(包括“dump.rdb”和“nodes-節(jié)點端口號.conf”文件。)
3.重新啟動待調(diào)整的從節(jié)點。
4.使用redis-trib.rb腳本將待調(diào)整的從節(jié)點加入到redis集群中,使其與合適的主節(jié)點對應(yīng),建立起新的主從關(guān)系。命令如下:
redis-trib.rb add-node --slave --master-id 主節(jié)點ID 待調(diào)整的從節(jié)點IP:PORT 集群中某節(jié)點IP:PORT

三.具體操作方法舉例

1.redis集群節(jié)點主從關(guān)系信息
                                                 圖一 redis集群節(jié)點主從關(guān)系

Redis集群怎么調(diào)整節(jié)點的主從關(guān)系
主節(jié)點信息   從節(jié)點信息

主節(jié)點ID主節(jié)點地址從節(jié)點ID從節(jié)點地址
487247ac4e34c0102d54eaca3256dce9b24667f4132.46.115.146:658023b674847132d82c355b3f440aa3f1f940316b69132.46.115.148:6581
3e745792f2a1f179501aea3264186aa55103a434132.46.115.148:658006b296c1d87fbf69638076d53054d89bd15ef2ad132.46.115.146:6581
2d93e76a04d20ca0a91e22694201f3b4b18c740b132.46.115.149:6580f8a342695baac0bce608ed468f2414c2e68abc49132.46.115.149:6581

表一 redis集群節(jié)點主從關(guān)系

從圖一、表一可見,其中一對主從節(jié)點(132.46.115.149:6580和132.46.115.149:6581)從屬于同一臺服務(wù)器。
需要從redis集群中去除兩個從節(jié)點(包括132.46.115.149:6581),而后建立新的主從關(guān)系。具體操作方法如下。
(1)從redis集群中刪掉兩個從節(jié)點(132.46.115.146:6581和132.46.115.149:6581)
在任意一臺服務(wù)器上執(zhí)行下面2條命令:
redis-trib.rb del-node 132.46.115.146:6580 06b296c1d87fbf69638076d53054d89bd15ef2ad
redis-trib.rb del-node 132.46.115.146:6580 f8a342695baac0bce608ed468f2414c2e68abc49
(2)刪除兩個從節(jié)點rdb子目錄下的所有文件
分別在132.46.115.146和132.46.115.149服務(wù)器上執(zhí)行如下命令:
rm ${REDIS_CLUSTER_HOME}/redis6581/rdb/*
(3)重新啟動刪掉的兩個從節(jié)點
分別在132.46.115.146和132.46.115.149服務(wù)器上執(zhí)行如下命令:
${REDIS_CLUSTER_HOME}/redis6581/bin/redis-server ${REDIS_CLUSTER_HOME}/redis6581/conf/redis.conf
(4)將刪掉的兩個從節(jié)點加入redis集群并建立新的主從關(guān)系
在任意一臺服務(wù)器上執(zhí)行下面2條命令:
redis-trib.rb add-node --slave --master-id 2d93e76a04d20ca0a91e22694201f3b4b18c740b 132.46.115.146:6581 132.46.115.146:6580
redis-trib.rb add-node --slave --master-id 3e745792f2a1f179501aea3264186aa55103a434 132.46.115.149:6581 132.46.115.146:6580

調(diào)整之后的redis集群節(jié)點關(guān)系見表二

主節(jié)點ID主節(jié)點地址從節(jié)點從節(jié)點地址
487247ac4e34c0102d54eaca3256dce9b24667f4132.46.115.146:6523b674847132d82c355b3f440aa3f1f940316b69132.46.115.148:6581
3e745792f2a1f179501aea3264186aa55103a434132.46.115.148:6580f8a342695baac0bce608ed468f2414c2e68abc49132.46.115.149:6581
2d93e76a04d20ca0a91e22694201f3b4b18c740b132.46.115.149:658006b296c1d87fbf69638076d53054d89bd15ef2ad132.46.115.146:6581

表二 redis集群節(jié)點新主從關(guān)系

四.自動檢測redis集群節(jié)點主從關(guān)系的腳本

Redis集群怎么調(diào)整節(jié)點的主從關(guān)系

圖二 自動檢測redis集群節(jié)點主從關(guān)系的腳本Redis集群怎么調(diào)整節(jié)點的主從關(guān)系

圖二為自動檢測redis集群節(jié)點主從關(guān)系的腳本。執(zhí)行此腳本時需要傳入2個參數(shù)。參數(shù)一為redis集群任一節(jié)點IP,參數(shù)二為redis集群任意節(jié)點port。若存在主從節(jié)點從屬于同一臺服務(wù)器的情況,信息將以紅色底色顯示。否則,信息以綠色底色顯示。腳本執(zhí)行方法及輸出結(jié)果如圖三所示。

Redis集群怎么調(diào)整節(jié)點的主從關(guān)系
圖三 自動檢測redis集群節(jié)點主從關(guān)系腳本執(zhí)行情況

關(guān)于調(diào)整Redis集群的節(jié)點主從關(guān)系就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI