您好,登錄后才能下訂單哦!
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ù)器。
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
圖一 redis集群節(jié)點主從關(guān)系
主節(jié)點信息 從節(jié)點信息
主節(jié)點ID | 主節(jié)點地址 | 從節(jié)點ID | 從節(jié)點地址 |
---|---|---|---|
487247ac4e34c0102d54eaca3256dce9b24667f4 | 132.46.115.146:6580 | 23b674847132d82c355b3f440aa3f1f940316b69 | 132.46.115.148:6581 |
3e745792f2a1f179501aea3264186aa55103a434 | 132.46.115.148:6580 | 06b296c1d87fbf69638076d53054d89bd15ef2ad | 132.46.115.146:6581 |
2d93e76a04d20ca0a91e22694201f3b4b18c740b | 132.46.115.149:6580 | f8a342695baac0bce608ed468f2414c2e68abc49 | 132.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é)點地址 |
---|---|---|---|
487247ac4e34c0102d54eaca3256dce9b24667f4 | 132.46.115.146:65 | 23b674847132d82c355b3f440aa3f1f940316b69 | 132.46.115.148:6581 |
3e745792f2a1f179501aea3264186aa55103a434 | 132.46.115.148:6580 | f8a342695baac0bce608ed468f2414c2e68abc49 | 132.46.115.149:6581 |
2d93e76a04d20ca0a91e22694201f3b4b18c740b | 132.46.115.149:6580 | 06b296c1d87fbf69638076d53054d89bd15ef2ad | 132.46.115.146:6581 |
表二 redis集群節(jié)點新主從關(guān)系
圖二 自動檢測redis集群節(jié)點主從關(guān)系的腳本
圖二為自動檢測redis集群節(jié)點主從關(guān)系的腳本。執(zhí)行此腳本時需要傳入2個參數(shù)。參數(shù)一為redis集群任一節(jié)點IP,參數(shù)二為redis集群任意節(jié)點port。若存在主從節(jié)點從屬于同一臺服務(wù)器的情況,信息將以紅色底色顯示。否則,信息以綠色底色顯示。腳本執(zhí)行方法及輸出結(jié)果如圖三所示。
圖三 自動檢測redis集群節(jié)點主從關(guān)系腳本執(zhí)行情況
關(guān)于調(diào)整Redis集群的節(jié)點主從關(guān)系就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(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)容。