redis集群模式运维常用命令及相关说明

时间:2021-07-27 02:11:00

进入集群客户端

任意选一个redis节点,进入redis 所在目录
cd /redis 所在目录/bin/
./redis-cli -h 本地节点的ip -p redis的端口号 -a 密码

查看集群中各个节点状态

进入到redis客户端后,运行如下命令,查看集群中节点状态

cluster nodes

会得到如下输出

redis集群模式运维常用命令及相关说明

模糊的部分为ip地址:端口号
可以查看到主从关系,以及节点的健康程度

写入记录

set key value

读取记录

get key

新加入master 节点


节点的维护需要使用redis-trib.rb 工具,而不是redis-cli客户端,退出客户端,使用如下命令


/redis所在目录/src/redis-trib.rb add-node 新节点ip:端口号  集群中任意节点ip:端口号


/redis所在目录/src/redis-trib.rb reshard 新节点ip:端口号


Source node #1: all


Do you want to proceed with the proposed reshard plan (yes/no)? yes


完成分配


新加入slave节点


为新的master重新分配slot


/redis所在目录/src/redis-trib.rb add-node --slave --master-id 主节点的id(用redis-cli,使用cluster node查


看) 新节点ip:端口号  集群中任意节点ip:端口号


为slave节点重新分配master


登录从节点的redis-cli


执行如下命令


cluster replicate 5d8ef5a7fbd72ac586bef04fa6de8a88c0671052


后边的id为新的master的id


删除从节点


/redis所在目录/src/redis-trib.rb del-node 从节点ip:从节点端口号 从节点的id号

删除主节点


如果主节点下有slave节点,将slave节点分配给其他master或删除

清空主节点下的slot

/redis所在目录/src/redis-trib.rb reshard 要删除的主节点的ip:端口号

Source node #1:03ccad2ba5dd1e062464bc7590400441fafb63f2 //被删除master的node-id  

Source node #2:done

Do you want to proceed with the proposed reshard plan (yes/no)? yes

删除主节点


/redis所在目录/src/redis-trib.rb del-node 主节点ip:主节点端口号 主节点的id号


检查集群所有节点是否正常


/redis所在目录/src/redis-trib.rb check 集群任意节点ip:节点端口号