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>