5.8. 集羣常用命令
5.8.1. 集羣的重啓與刪除
查看redis cluster命令:
1.關閉集羣的某個節點
關閉集羣的某個節點,比如關閉端口號爲7001的實例:
redis-cli -a cyclone -c -h 192.168.75.187 -p 7001 shutdown
執行效果如下:
關閉之後,使用如下命令可重啓
redis-server /etc/redis/redis-cluster-7001/7001.conf
命令可以將實例重新啓動,啓動完成之後,自動加入到集羣當中。
2.集羣的關閉
逐個關閉redis實例進程即可
查找redis實例進程號
ps -ef | grep redis
關閉redis進程,使用kill -9 ${進程號},如果需要關閉多個進程,進程號之間空格隔開即可
kill -9 3535 3540 3545 3550 3555 24822
也可執行以下命令來關閉redis進程
pkill -9 redis
3.redis集羣的重新啓動
redis集羣的重新啓動有兩種方式:保留原來的數據、丟棄原來的數據。
(1)保留原來的數據:
逐個關閉redis實例,再逐個的啓動即可。
(2)丟棄原來的數據:
關閉實例,清空實例中數據存放目錄的所有內容,然後逐個啓動實例,在任意一個實例上執行集羣的創建命令即可,本質上就是創建一個新的集羣
清空數據存儲目錄內容:
rm -rf /etc/redis/redis-cluster-7001/data/*
rm -rf /etc/redis/redis-cluster-7002/data/*
rm -rf /etc/redis/redis-cluster-7003/data/*
rm -rf/etc/redis/redis-cluster-7004/data/*
rm -rf /etc/redis/redis-cluster-7005/data/*
rm -rf /etc/redis/redis-cluster-7006/data/*
啓動實例:
redis-server /etc/redis/redis-cluster-7001/7001.conf
redis-server /etc/redis/redis-cluster-7002/7002.conf
redis-server /etc/redis/redis-cluster-7003/7003.conf
redis-server /etc/redis/redis-cluster-7004/7004.conf
redis-server /etc/redis/redis-cluster-7005/7005.conf
redis-server /etc/redis/redis-cluster-7006/7006.conf
執行集羣創建命令:
redis-cli --cluster create 192.168.75.187:7001 192.168.75.187:7002 192.168.75.187:7003 192.168.75.187:7004 192.168.75.187:7005 192.168.75.187:7006 --cluster-replicas 1
5.8.2.create創建集羣
- create
- –replicas # 可選參數,replicas表示每個master需要有幾個slave。
create命令可選replicas參數,replicas表示需要有幾個slave。
5.8.3.查看集羣
CLUSTER INFO 打印集羣的信息
[root@cache01 src]# redis-cli -h 192.168.75.187 -p 7001 cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:9924
cluster_stats_messages_pong_sent:9471
cluster_stats_messages_sent:19395
cluster_stats_messages_ping_received:9466
cluster_stats_messages_pong_received:9924
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:19395
[root@cache01 src]#
CLUSTER NODES 列出集羣當前已知的所有節點(node),以及這些節點的相關信息。
[root@cache01 src]# redis-cli -h 192.168.75.187 -p 7001 cluster nodes
ac47bd2d21c50500cc59c0f35720801f49e8cbba 192.168.75.187:7005@17005 slave 97901b9d1281fb8b27b26898340ec1682dfffdba 0 1584007216062 5 connected
c276f98fb8f6b74cccceb3eb7399702fa6644cd9 192.168.75.187:7003@17003 master - 0 1584007217072 3 connected 10923-16383
3605efaeea1afcfd373f17181cf09a02915aa098 192.168.75.187:7004@17004 slave c276f98fb8f6b74cccceb3eb7399702fa6644cd9 0 1584007218081 4 connected
e59bc95e8fadbcc1acaf95ada1621b8594c48007 192.168.75.187:7006@17006 slave d3316138a3d30dbaeceda65fc6fb8a2eeaeb2143 0 1584007215000 6 connected
d3316138a3d30dbaeceda65fc6fb8a2eeaeb2143 192.168.75.187:7002@17002 master - 0 1584007216000 2 connected 5461-10922
97901b9d1281fb8b27b26898340ec1682dfffdba 192.168.75.187:7001@17001 myself,master - 0 1584007217000 1 connected 0-5460
5.8.4.節點(node) 命令
1、將 ip 和 port 所指定的節點添加到集羣中
CLUSTER MEET <ip> <port>
2、從集羣中移除 node_id 指定的節點
CLUSTER FORGET <node_id>
3、將當前節點設置爲 node_id 指定的節點的從節點
CLUSTER REPLICATE <node_id>
4、將節點的配置文件保存到硬盤裏面
CLUSTER SAVECONFIG
5.8.5.槽(slot)命令
1、將一個或多個槽(slot)指派(assign)給當前節點
CLUSTER ADDSLOTS <slot> [slot ...]
2、移除一個或多個槽對當前節點的指派
CLUSTER DELSLOTS <slot> [slot ...]
3、 移除指派給當前節點的所有槽,讓當前節點變成一個沒有指派任何槽的節點
CLUSTER FLUSHSLOTS
4、將槽 slot 指派給 node_id 指定的節點,如果槽已經指派給另一個節點,那麼先讓另一個節點刪除該槽>,然後再進行指派
CLUSTER SETSLOT <slot> NODE <node_id>
5、將本節點的槽 slot 遷移到 node_id 指定的節點中
CLUSTER SETSLOT <slot> MIGRATING <node_id>
6、從 node_id 指定的節點中導入槽 slot 到本節點
CLUSTER SETSLOT <slot> IMPORTING <node_id>
7、取消對槽 slot 的導入(import)或者遷移(migrate)
CLUSTER SETSLOT <slot> STABLE
5.8.6.鍵key命令
1、計算鍵 key 應該被放置在哪個槽上
CLUSTER KEYSLOT <key>
2、返回槽 slot 目前包含的鍵值對數量
CLUSTER COUNTKEYSINSLOT <slot>
3、返回 count 個 slot 槽中的鍵
CLUSTER GETKEYSINSLOT <slot> <count>