Redis cluster日常管理【一】
一、管理操作
集群
cluster info:打印集群的信息 cluster nodes:列出集群當前已知的所有節(jié)點,以及節(jié)點的相關信息 cluster meet<ip><port>:將ip和port所指定的節(jié)點加入到集群當中 cluster foget<node_id>:從集群中一處node_id所指向的節(jié)點 cluster repolicate<master_node_id>:將當前從節(jié)點設置為node_id指向的master節(jié)點的slave節(jié)點。只能針對slave節(jié)點操作 cluster saveconfig:將節(jié)點的配置文件保存到硬盤中槽(slot)
cluster addslots <slot>[slot...]:將一個或者多個槽(slot)指定派(assign)給當前節(jié)點 cluster delslots <slot>[slot...]:移除一個或多個對當前節(jié)點的指派 cluster flushslots:移除指派給當前節(jié)點的所有槽,讓當前節(jié)點變成一個沒有指派任何槽的節(jié)點 cluster setslot <slot>node<node_id>:將槽slot指派給node_id指定的節(jié)點,如果槽已經(jīng)指派給另外一個節(jié)點,那么先讓另外一個節(jié)點刪除該槽,然后在指派 cluster setslot <slot>mingranting<node_id>:將本節(jié)點的槽slot遷移到node_id指定的節(jié)點中 cluster setslot <slot>impoting <node_id>:從node_id指定的節(jié)點中導入槽到本節(jié)點 cluster setslot<slot>stable:取消對槽slot的導入(import)或者遷移(migrate) cluster keyslot <key>:計算鍵key應該被放置在哪個槽上 cluster countkeysinslot<slot>:返回槽slot目前包含的鍵值對數(shù)量 cluster getkeysinslot <slot><count>:返回count個slot槽中的鍵二、清理Redis緩存數(shù)據(jù)
清理緩存數(shù)據(jù)有兩種的方式;
- 清除全部的key
- 清除多個key
三、升級服務器
升級從服務器很簡單,只需要停止節(jié)點然后用已更新的Redis版本重啟。
升級主服務器要稍微復雜一些,建議的步驟是;
①使用cluster failover來觸發(fā)一次手工故障轉(zhuǎn)移主服務器
②等待主服務器變?yōu)閺姆掌?br /> ③像升級從服務器那樣升級這個節(jié)點
④如果想讓剛剛升級的節(jié)點變成主服務器,觸發(fā)一次新的手工故障轉(zhuǎn)移,讓升級的節(jié)點重新變成主服務器
【可以按照這些步驟一個節(jié)點一個節(jié)點的升級,直到全部節(jié)點升級完畢】
四、復制遷移
為什么要做復制遷移呢?我們知道集群的抗崩潰能力總是跟集群中的master擁有的平均slave數(shù)量上成正比。比如如果一個集群中每個master只有一個slave,當master和slave都掛掉的時候這個集群就崩潰了,當然可以通過給每個master都在多加一個slave節(jié)點來改進系統(tǒng)的可靠性,但是這樣很昂貴。復制遷移允許只給某些master增加slave,比如集群中有20各節(jié)點,10個master每個master有一個slave。然后增加3個slave到集群中并把它們分配給某幾個master節(jié)點,這樣某些master就會擁有多于一個slave。
當某個master失去slave的時候,復制遷移可以將slave節(jié)點從擁有富余slave的master旗下遷移給沒有slave的master,這樣我們假設在早上4點有一個slave節(jié)點斷掉的時候另一個slave會被遷移過來取代它的位置,這樣當master在早上5點掛掉的時候依然有一個slave可以被選選舉成為master,集群依然可以正常運行。
在Redis集群中通過cluster replicate <master_node_id>命令可以將一個slave節(jié)點重新配置為另外一個master的slave。
注意:這個只是針對slave節(jié)點,即登錄到slave節(jié)點的redis中執(zhí)行這個命令。
比如現(xiàn)在10.220.5.172:6379是10.220.5.171:6379主節(jié)點的slave節(jié)點,也可以把它設置為10.220.5.173:6379主節(jié)點的slave節(jié)點。
10.220.5.172:6379> info replication # Replication role:slave master_host:10.220.5.171 master_port:637910.220.5.173:6379主節(jié)點的ID是:aed1d5e8127c8ee93af0bbf2b66b800763489690
則操作如下:
這樣可以自動的將一個復制節(jié)點從一個master下移動到另外一個master下,這種情況下復制節(jié)點的自動成噢誒之被稱之為復制遷移,復制遷移可以提升系統(tǒng)的可靠性和抗災性。
關于復制遷移需要注意的幾點:
總結(jié)
以上是生活随笔為你收集整理的Redis cluster日常管理【一】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis集群架构搭建详解
- 下一篇: Redis cluster日常管理【二】