redis cluster命令
公司主營業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出應(yīng)縣免費做網(wǎng)站回饋大家。
集群(cluster)
cluster info 打印集群的信息
cluster nodes 列出集群當前已知的所有節(jié)點(node),以及這些節(jié)點的相關(guān)信息
節(jié)點(node)
cluster meet
cluster forget
cluster replicate
cluster saveconfig 將節(jié)點的配置文件保存到硬盤里面
cluster slaves
cluster set-config-epoch 強制設(shè)置configEpoch
槽(slot)
cluster addslots
cluster delslots
cluster flushslots 移除指派給當前節(jié)點的所有槽,讓當前節(jié)點變成一個沒有指派任何槽的節(jié)點
cluster setslot
cluster setslot
cluster setslot
cluster setslot
鍵(key)
cluster keyslot
cluster countkeysinslot
cluster getkeysinslot
其它
cluster myid 返回節(jié)點的ID
cluster slots 返回節(jié)點負責的slot
cluster reset 重置集群,慎用
redis cluster配置
cluster-enabled yes
如果配置yes則開啟集群功能,此redis實例作為集群的一個節(jié)點,否則,它是一個普通的單一的redis實例。
cluster-config-file nodes-6379.conf
雖然此配置的名字叫"集群配置文件",但是此配置文件不能人工編輯,它是集群節(jié)點自動維護的文件,主要用于記錄集群中有哪些節(jié)點、他們的狀態(tài)以及一些持久化參數(shù)等,方便在重啟時恢復這些狀態(tài)。通常是在收到請求之后這個文件就會被更新。
cluster-node-timeout 15000
這是集群中的節(jié)點能夠失聯(lián)的最大時間,超過這個時間,該節(jié)點就會被認為故障。如果主節(jié)點超過這個時間還是不可達,則用它的從節(jié)點將啟動故障遷移,升級成主節(jié)點。注意,任何一個節(jié)點在這個時間之內(nèi)如果還是沒有連上大部分的主節(jié)點,則此節(jié)點將停止接收任何請求。一般設(shè)置為15秒即可。
cluster-slave-validity-factor 10
如果設(shè)置成0,則無論從節(jié)點與主節(jié)點失聯(lián)多久,從節(jié)點都會嘗試升級成主節(jié)點。如果設(shè)置成正數(shù),則cluster-node-timeout乘以cluster-slave-validity-factor得到的時間,是從節(jié)點與主節(jié)點失聯(lián)后,此從節(jié)點數(shù)據(jù)有效的最長時間,超過這個時間,從節(jié)點不會啟動故障遷移。假設(shè)cluster-node-timeout=5,cluster-slave-validity-factor=10,則如果從節(jié)點跟主節(jié)點失聯(lián)超過50秒,此從節(jié)點不能成為主節(jié)點。注意,如果此參數(shù)配置為非0,將可能出現(xiàn)由于某主節(jié)點失聯(lián)卻沒有從節(jié)點能頂上的情況,從而導致集群不能正常工作,在這種情況下,只有等到原來的主節(jié)點重新回歸到集群,集群才恢復運作。
cluster-migration-barrier 1
主節(jié)點需要的最小從節(jié)點數(shù),只有達到這個數(shù),主節(jié)點失敗時,它從節(jié)點才會進行遷移。更詳細介紹可以看本教程后面關(guān)于副本遷移到部分。
cluster-require-full-coverage yes
在部分key所在的節(jié)點不可用時,如果此參數(shù)設(shè)置為"yes"(默認值), 則整個集群停止接受操作;如果此參數(shù)設(shè)置為”no”,則集群依然為可達節(jié)點上的key提供讀操作。
redis cluster狀態(tài)
127.0.0.1:8001> cluster info
cluster_state:ok
如果當前redis發(fā)現(xiàn)有failed的slots,默認為把自己cluster_state從ok個性為fail, 寫入命令會失敗。如果設(shè)置cluster-require-full-coverage為no,則無此限制。
cluster_slots_assigned:16384 #已分配的槽
cluster_slots_ok:16384 #槽的狀態(tài)是ok的數(shù)目
cluster_slots_pfail:0 #可能失效的槽的數(shù)目
cluster_slots_fail:0 #已經(jīng)失效的槽的數(shù)目
cluster_known_nodes:6 #集群中節(jié)點個數(shù)
cluster_size:3 #集群中設(shè)置的分片個數(shù)
cluster_current_epoch:15 #集群中的currentEpoch總是一致的,currentEpoch越高,代表節(jié)點的配置或者操作越新,集群中最大的那個node epoch
cluster_my_epoch:12 #當前節(jié)點的config epoch,每個主節(jié)點都不同,一直遞增, 其表示某節(jié)點最后一次變成主節(jié)點或獲取新slot所有權(quán)的邏輯時間.
cluster_stats_messages_sent:270782059
cluster_stats_messages_received:270732696
127.0.0.1:8001> cluster nodes
25e8c9379c3db621da6ff8152684dc95dbe2e163 192.168.64.102:8002 master - 0 1490696025496 15 connected 5461-10922
d777a98ff16901dffca53e509b78b65dd1394ce2 192.168.64.156:8001 slave 0b1f3dd6e53ba76b8664294af2b7f492dbf914ec 0 1490696027498 12 connected
8e082ea9fe9d4c4fcca4fbe75ba3b77512b695ef 192.168.64.108:8000 master - 0 1490696025997 14 connected 0-5460
0b1f3dd6e53ba76b8664294af2b7f492dbf914ec 192.168.64.170:8001 myself,master - 0 0 12 connected 10923-16383
eb8adb8c0c5715525997bdb3c2d5345e688d943f 192.168.64.101:8002 slave 25e8c9379c3db621da6ff8152684dc95dbe2e163 0 1490696027498 15 connected
4000155a787ddab1e7f12584dabeab48a617fc46 192.168.67.54:8000 slave 8e082ea9fe9d4c4fcca4fbe75ba3b77512b695ef 0 1490696026497 14 connected
#說明
節(jié)點ID:例如25e8c9379c3db621da6ff8152684dc95dbe2e163
ip:port:節(jié)點的ip地址和端口號,例如192.168.64.102:8002
flags:節(jié)點的角色(master,slave,myself)以及狀態(tài)(pfail,fail)
如果節(jié)點是一個從節(jié)點的話,那么跟在flags之后的將是主節(jié)點的節(jié)點ID,例如192.168.64.156:8001主節(jié)點的ID就是0b1f3dd6e53ba76b8664294af2b7f492dbf914ec
集群最近一次向節(jié)點發(fā)送ping命令之后,過了多長時間還沒接到回復
節(jié)點最近一次返回pong回復的時間
節(jié)點的配置紀元(config epoch)
本節(jié)點的網(wǎng)絡(luò)連接情況
節(jié)點目前包含的槽,例如192.168.64.102:8002目前包含的槽為5461-10922