1. 集群操作命令
1.1. 查看集群命令
1.2. create创建一个集群。
1.3. add-node添加一个节点到集群。
1.4. reshard分片。
1.5. del-node移除一个节点。
2. 创建集群
2.1. 分别启动192.168.25.133、192.168.25.135、192.168.25.137、192.168.25.138、192.168.25.139和192.168.25.140这6台机器上的Redis服务。
2.2. 创建集群
2.3. 查看集群节点信息
3. 从集群中删除一个从节点
3.1. 删除节点命令: /usr/local/redis-6.2.0/src/redis-cli --cluster del-node ip:port id -a pass
3.2. 查看集群节点信息, 没有192.168.25.140这个节点了
4. 从集群中删除一个主节点
4.1. 把主节点上的槽分配给其他主节点
4.1.1. 使用命令分配槽: /usr/local/redis-6.2.0/src/redis-cli --cluster reshard ip:port -a pass
4.1.2. How many slots do you want to move (from 1 to 16384)? 想移动多少个槽
4.1.3. What is the receiving node ID?接受这些槽的节点id
4.1.4. Please enter all the source node IDs.输入要移除槽的主节点id
- Type 'all' to use all the nodes as source nodes for the hash slots.从所有主节点分中抽取一定槽, 抽取槽数总计5462个。
- Type 'done' once you entered all the source nodes IDs.输入要移除槽的主节点id。
4.2. 执行分配
4.3. 查看集群节点信息, 192.168.25.135节点还在, 是一个主节点, 但是没有槽
4.4. 删除节点命令: /usr/local/redis-6.2.0/src/redis-cli --cluster del-node ip:port id -a pass
4.5. 查看集群节点信息, 没有192.168.25.135这个节点了
5. 新增一个主节点到集群
5.1. /usr/local/redis-6.2.0/src/redis-cli --cluster add-node ip:port(新节点) ip:port(集群中已有节点) -a pass
5.2. 192.168.25.135已经添加到集群, 是一个主节点, 但是没有槽
5.3. 把192.168.25.137的槽分配到192.168.25.135
5.4. 分配完成, 查看节点信息
6. 添加一个新的从节点到集群
6.1. /usr/local/redis-6.2.0/src/redis-cli --cluster add-node ip:port(新节点) ip:port(集群中已有节点) -a pass
6.2. 192.168.25.140已经添加到集群, 是一个主节点, 但是没有槽
6.3. 登录/usr/local/redis-6.2.0/src/redis-cli -c -h 192.168.25.140 -p 6379客户端, 使用cluster replicate 主节点id命令, 把当前节点指定给另外一个主节点
6.4. 查看集群节点信息, 192.168.25.140变成了从节点, 它的主节点是192.168.25.135