进入集群客户端
任意选一个redis节点,进入redis 所在目录
cd /redis 所在目录/bin/
./redis-cli -h 本地节点的ip -p redis的端口号 -a 密码
查看集群中各个节点状态
进入到redis客户端后,运行如下命令,查看集群中节点状态
cluster nodes
会得到如下输出
模糊的部分为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:节点端口号