您好,登錄后才能下訂單哦!
Redis集群怎么調整節點的主從關系?相信很多新手小白還沒學會這個技能,通過這篇文章的總結,希望你能學會調整Redis集群的節點主從關系。
Redis集群創建后,可能會出現互為主從關系的節點從屬于同一臺服務器的情況。在此種情況下,若
服務器故障宕機或需要停機維護,互為主從關系的節點同時停止運行,導致redis集群暫時失去一部
分slot插槽。此時,redis集群為fail狀態,對其進行的數據讀寫操作均無法正常進行。為避免此種情
況的發生,應對redis集群節點的主從關系進行調整,使互為主從關系的節點分屬于不同的服務器。
1.使用redis-trib.rb腳本將待調整的從節點從redis集群中刪除。(執行此步操作時,從節點會從redis集群中去除。同時,此從節點進程會被殺掉。)命令如下:
redis-trib.rb del-node 集群中某節點IP:PORT 待調整的從節點ID
2.刪除待調整從節點rdb子目錄下的所有文件。(包括“dump.rdb”和“nodes-節點端口號.conf”文件。)
3.重新啟動待調整的從節點。
4.使用redis-trib.rb腳本將待調整的從節點加入到redis集群中,使其與合適的主節點對應,建立起新的主從關系。命令如下:
redis-trib.rb add-node --slave --master-id 主節點ID 待調整的從節點IP:PORT 集群中某節點IP:PORT
圖一 redis集群節點主從關系
主節點信息 從節點信息
主節點ID | 主節點地址 | 從節點ID | 從節點地址 |
---|---|---|---|
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集群節點主從關系
從圖一、表一可見,其中一對主從節點(132.46.115.149:6580和132.46.115.149:6581)從屬于同一臺服務器。
需要從redis集群中去除兩個從節點(包括132.46.115.149:6581),而后建立新的主從關系。具體操作方法如下。
(1)從redis集群中刪掉兩個從節點(132.46.115.146:6581和132.46.115.149:6581)
在任意一臺服務器上執行下面2條命令:
redis-trib.rb del-node 132.46.115.146:6580 06b296c1d87fbf69638076d53054d89bd15ef2ad
redis-trib.rb del-node 132.46.115.146:6580 f8a342695baac0bce608ed468f2414c2e68abc49
(2)刪除兩個從節點rdb子目錄下的所有文件
分別在132.46.115.146和132.46.115.149服務器上執行如下命令:
rm ${REDIS_CLUSTER_HOME}/redis6581/rdb/*
(3)重新啟動刪掉的兩個從節點
分別在132.46.115.146和132.46.115.149服務器上執行如下命令:
${REDIS_CLUSTER_HOME}/redis6581/bin/redis-server ${REDIS_CLUSTER_HOME}/redis6581/conf/redis.conf
(4)將刪掉的兩個從節點加入redis集群并建立新的主從關系
在任意一臺服務器上執行下面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
調整之后的redis集群節點關系見表二
主節點ID | 主節點地址 | 從節點 | 從節點地址 |
---|---|---|---|
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集群節點新主從關系
圖二 自動檢測redis集群節點主從關系的腳本
圖二為自動檢測redis集群節點主從關系的腳本。執行此腳本時需要傳入2個參數。參數一為redis集群任一節點IP,參數二為redis集群任意節點port。若存在主從節點從屬于同一臺服務器的情況,信息將以紅色底色顯示。否則,信息以綠色底色顯示。腳本執行方法及輸出結果如圖三所示。
圖三 自動檢測redis集群節點主從關系腳本執行情況
關于調整Redis集群的節點主從關系就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。