13.1. 集群管理工具
Redisson集群管理工具提供了通过程序化的方式,像redis-trib.rb
脚本一样方便地管理Redis集群的工具。
13.1.1 创建集群
以下范例展示了如何创建三主三从的Redis集群。
ClusterNodes clusterNodes = ClusterNodes.create()
.master("127.0.0.1:7000").withSlaves("127.0.0.1:7001", "127.0.0.1:7002")
.master("127.0.0.1:7003").withSlaves("127.0.0.1:7004")
.master("127.0.0.1:7005");
ClusterManagementTool.createCluster(clusterNodes);
主节点127.0.0.1:7000
的从节点有127.0.0.1:7001
和127.0.0.1:7002
。
主节点127.0.0.1:7003
的从节点是127.0.0.1:7003
。
主节点127.0.0.1:7005
没有从节点。
13.1.2 踢出节点
以下范例展示了如何将一个节点踢出集群。
ClusterManagementTool.removeNode("127.0.0.1:7000", "127.0.0.1:7002");
// 或
redisson.getClusterNodesGroup().removeNode("127.0.0.1:7002");
将从节点127.0.0.1:7002
从其主节点127.0.0.1:7000
里踢出。
13.1.3 数据槽迁移
以下范例展示了如何将数据槽在集群的主节点之间迁移。
ClusterManagementTool.moveSlots("127.0.0.1:7000", "127.0.0.1:7002", 23, 419, 4712, 8490);
// 或
redisson.getClusterNodesGroup().moveSlots("127.0.0.1:7000", "127.0.0.1:7002", 23, 419, 4712, 8490);
将*为23
,419
,4712
和8490
的数据槽从127.0.0.1:7002
节点迁移至127.0.0.1:7000
节点。
以下范例展示了如何将一个范围的数据槽在集群的主节点之间迁移。
ClusterManagementTool.moveSlotsRange("127.0.0.1:7000", "127.0.0.1:7002", 51, 9811);
// 或
redisson.getClusterNodesGroup().moveSlotsRange("127.0.0.1:7000", "127.0.0.1:7002", 51, 9811);
将*范围在[51, 9811](含)之间的数据槽从127.0.0.1:7002
节点移动到127.0.0.1:7000
节点。
13.1.4 添加从节点
以下范例展示了如何向集群中添加从节点。
ClusterManagementTool.addSlaveNode("127.0.0.1:7000", "127.0.0.1:7003");
// 或
redisson.getClusterNodesGroup().addSlaveNode("127.0.0.1:7003");
将127.0.0.1:7003
作为从节点添加至127.0.0.1:7000
所在的集群里。
13.2.5 添加主节点
以下范例展示了如何向集群中添加主节点。
ClusterManagementTool.addMasterNode("127.0.0.1:7000", "127.0.0.1:7004");
// 或
redisson.getClusterNodesGroup().addMasterNode("127.0.0.1:7004");
将127.0.0.1:7004
作为主节点添加至127.0.0.1:7000
所在的集群里。
Adds master node 127.0.0.1:7004
to cluster where 127.0.0.1:7000
participate in
该功能仅限于Redisson PRO版本。