您好,登錄后才能下訂單哦!
Redis cluster命令
集群(cluster)
cluster info 打印集群的信息
cluster nodes 列出集群當(dāng)前已知的所有節(jié)點(diǎn)(node),以及這些節(jié)點(diǎn)的相關(guān)信息
節(jié)點(diǎn)(node)
cluster meet <ip> <port> 將ip和port所指定的節(jié)點(diǎn)添加到集群當(dāng)中,讓它成為集群的一份子
cluster forget <node_id> 從集群中移除node_id指定的節(jié)點(diǎn)
cluster replicate <node_id> 將當(dāng)前節(jié)點(diǎn)設(shè)置為node_id指定的節(jié)點(diǎn)的從節(jié)點(diǎn)
cluster saveconfig 將節(jié)點(diǎn)的配置文件保存到硬盤里面
cluster slaves <node_id> 列出該slave節(jié)點(diǎn)的master節(jié)點(diǎn)
cluster set-config-epoch 強(qiáng)制設(shè)置configEpoch
槽(slot)
cluster addslots <slot> [slot ...] 將一個(gè)或多個(gè)槽(slot)指派(assign)給當(dāng)前節(jié)點(diǎn)
cluster delslots <slot> [slot ...] 移除一個(gè)或多個(gè)槽對(duì)當(dāng)前節(jié)點(diǎn)的指派
cluster flushslots 移除指派給當(dāng)前節(jié)點(diǎn)的所有槽,讓當(dāng)前節(jié)點(diǎn)變成一個(gè)沒有指派任何槽的節(jié)點(diǎn)
cluster setslot <slot> node <node_id> 將槽slot指派給node_id指定的節(jié)點(diǎn),如果槽已經(jīng)指派給另一個(gè)節(jié)點(diǎn),那么先讓另一個(gè)節(jié)點(diǎn)刪除該槽,然后再進(jìn)行指派
cluster setslot <slot> migrating <node_id> 將本節(jié)點(diǎn)的槽slot遷移到node_id指定的節(jié)點(diǎn)中
cluster setslot <slot> importing <node_id> 從node_id 指定的節(jié)點(diǎn)中導(dǎo)入槽slot到本節(jié)點(diǎn)
cluster setslot <slot> stable 取消對(duì)槽slot的導(dǎo)入(import)或者遷移(migrate)
鍵(key)
cluster keyslot <key> 計(jì)算鍵key應(yīng)該被放置在哪個(gè)槽上
cluster countkeysinslot <slot> 返回槽slot目前包含的鍵值對(duì)數(shù)量
cluster getkeysinslot <slot> <count> 返回count個(gè)slot槽中的鍵
其它
cluster myid 返回節(jié)點(diǎn)的ID
cluster slots 返回節(jié)點(diǎn)負(fù)責(zé)的slot
cluster reset 重置集群,慎用
redis cluster配置
cluster-enabled yes
如果配置yes則開啟集群功能,此redis實(shí)例作為集群的一個(gè)節(jié)點(diǎn),否則,它是一個(gè)普通的單一的redis實(shí)例。
cluster-config-file nodes-6379.conf
雖然此配置的名字叫"集群配置文件",但是此配置文件不能人工編輯,它是集群節(jié)點(diǎn)自動(dòng)維護(hù)的文件,主要用于記錄集群中有哪些節(jié)點(diǎn)、他們的狀態(tài)以及一些持久化參數(shù)等,方便在重啟時(shí)恢復(fù)這些狀態(tài)。通常是在收到請(qǐng)求之后這個(gè)文件就會(huì)被更新。
cluster-node-timeout 15000
這是集群中的節(jié)點(diǎn)能夠失聯(lián)的最大時(shí)間,超過(guò)這個(gè)時(shí)間,該節(jié)點(diǎn)就會(huì)被認(rèn)為故障。如果主節(jié)點(diǎn)超過(guò)這個(gè)時(shí)間還是不可達(dá),則用它的從節(jié)點(diǎn)將啟動(dòng)故障遷移,升級(jí)成主節(jié)點(diǎn)。注意,任何一個(gè)節(jié)點(diǎn)在這個(gè)時(shí)間之內(nèi)如果還是沒有連上大部分的主節(jié)點(diǎn),則此節(jié)點(diǎn)將停止接收任何請(qǐng)求。一般設(shè)置為15秒即可。
cluster-slave-validity-factor 10
如果設(shè)置成0,則無(wú)論從節(jié)點(diǎn)與主節(jié)點(diǎn)失聯(lián)多久,從節(jié)點(diǎn)都會(huì)嘗試升級(jí)成主節(jié)點(diǎn)。如果設(shè)置成正數(shù),則cluster-node-timeout乘以cluster-slave-validity-factor得到的時(shí)間,是從節(jié)點(diǎn)與主節(jié)點(diǎn)失聯(lián)后,此從節(jié)點(diǎn)數(shù)據(jù)有效的最長(zhǎng)時(shí)間,超過(guò)這個(gè)時(shí)間,從節(jié)點(diǎn)不會(huì)啟動(dòng)故障遷移。假設(shè)cluster-node-timeout=5,cluster-slave-validity-factor=10,則如果從節(jié)點(diǎn)跟主節(jié)點(diǎn)失聯(lián)超過(guò)50秒,此從節(jié)點(diǎn)不能成為主節(jié)點(diǎn)。注意,如果此參數(shù)配置為非0,將可能出現(xiàn)由于某主節(jié)點(diǎn)失聯(lián)卻沒有從節(jié)點(diǎn)能頂上的情況,從而導(dǎo)致集群不能正常工作,在這種情況下,只有等到原來(lái)的主節(jié)點(diǎn)重新回歸到集群,集群才恢復(fù)運(yùn)作。
cluster-migration-barrier 1
主節(jié)點(diǎn)需要的最小從節(jié)點(diǎn)數(shù),只有達(dá)到這個(gè)數(shù),主節(jié)點(diǎn)失敗時(shí),它從節(jié)點(diǎn)才會(huì)進(jìn)行遷移。更詳細(xì)介紹可以看本教程后面關(guān)于副本遷移到部分。
cluster-require-full-coverage yes
在部分key所在的節(jié)點(diǎn)不可用時(shí),如果此參數(shù)設(shè)置為"yes"(默認(rèn)值), 則整個(gè)集群停止接受操作;如果此參數(shù)設(shè)置為”no”,則集群依然為可達(dá)節(jié)點(diǎn)上的key提供讀操作。
redis cluster狀態(tài)
127.0.0.1:8001> cluster info
cluster_state:ok
如果當(dāng)前redis發(fā)現(xiàn)有failed的slots,默認(rèn)為把自己cluster_state從ok個(gè)性為fail, 寫入命令會(huì)失敗。如果設(shè)置cluster-require-full-coverage為no,則無(wú)此限制。
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é)點(diǎn)個(gè)數(shù)
cluster_size:3 #集群中設(shè)置的分片個(gè)數(shù)
cluster_current_epoch:15 #集群中的currentEpoch總是一致的,currentEpoch越高,代表節(jié)點(diǎn)的配置或者操作越新,集群中最大的那個(gè)node epoch
cluster_my_epoch:12 #當(dāng)前節(jié)點(diǎn)的config epoch,每個(gè)主節(jié)點(diǎn)都不同,一直遞增, 其表示某節(jié)點(diǎn)最后一次變成主節(jié)點(diǎn)或獲取新slot所有權(quán)的邏輯時(shí)間.
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
#說(shuō)明
節(jié)點(diǎn)ID:例如25e8c9379c3db621da6ff8152684dc95dbe2e163
ip:port:節(jié)點(diǎn)的ip地址和端口號(hào),例如192.168.64.102:8002
flags:節(jié)點(diǎn)的角色(master,slave,myself)以及狀態(tài)(pfail,fail)
如果節(jié)點(diǎn)是一個(gè)從節(jié)點(diǎn)的話,那么跟在flags之后的將是主節(jié)點(diǎn)的節(jié)點(diǎn)ID,例如192.168.64.156:8001主節(jié)點(diǎn)的ID就是0b1f3dd6e53ba76b8664294af2b7f492dbf914ec
集群最近一次向節(jié)點(diǎn)發(fā)送ping命令之后,過(guò)了多長(zhǎng)時(shí)間還沒接到回復(fù)
節(jié)點(diǎn)最近一次返回pong回復(fù)的時(shí)間
節(jié)點(diǎn)的配置紀(jì)元(config epoch)
本節(jié)點(diǎn)的網(wǎng)絡(luò)連接情況
節(jié)點(diǎn)目前包含的槽,例如192.168.64.102:8002目前包含的槽為5461-10922
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。