Java 类redis.clients.jedis.tests.utils.JedisClusterTestUtil 实例源码

项目:JRediClients    文件:JedisClusterTest.java   
@Test
public void testReadonly() throws Exception {
  node1.clusterMeet(localHost, nodeInfoSlave2.getPort());
  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3, nodeSlave2);

  for (String nodeInfo : node2.clusterNodes().split("\n")) {
    if (nodeInfo.contains("myself")) {
      nodeSlave2.clusterReplicate(nodeInfo.split(" ")[0]);
      break;
    }
  }
  try {
    nodeSlave2.get("test");
    fail();
  } catch (JedisMovedDataException e) {
  }
  nodeSlave2.readonly();
  nodeSlave2.get("test");

  nodeSlave2.clusterReset(Reset.SOFT);
  nodeSlave2.flushDB();
}
项目:JRediClients    文件:JedisClusterTest.java   
@Test
public void testStableSlotWhenMigratingNodeOrImportingNodeIsNotSpecified()
    throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort(nodeInfo1.getHost(), nodeInfo1.getPort()));
  JedisCluster jc = new JedisCluster(jedisClusterNode, DEFAULT_TIMEOUT, DEFAULT_TIMEOUT, DEFAULT_REDIRECTIONS, "cluster", DEFAULT_CONFIG);

  int slot51 = JedisClusterCRC16.getSlot("51");
  jc.set("51", "foo");
  // node2 is responsible of taking care of slot51 (7186)

  node3.clusterSetSlotImporting(slot51, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  assertEquals("foo", jc.get("51"));
  node3.clusterSetSlotStable(slot51);
  assertEquals("foo", jc.get("51"));

  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  // assertEquals("foo", jc.get("51")); // it leads Max Redirections
  node2.clusterSetSlotStable(slot51);
  assertEquals("foo", jc.get("51"));
}
项目:cachecloud    文件:JedisClusterTest.java   
@Test
public void testReadonly() throws Exception {
  node1.clusterMeet(localHost, nodeInfoSlave2.getPort());
  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3, nodeSlave2);

  ClusterNodeInformationParser nodeInfoParser = new ClusterNodeInformationParser();
  for (String nodeInfo : node2.clusterNodes().split("\n")) {
    if (nodeInfo.contains("myself")) {
      nodeSlave2.clusterReplicate(nodeInfo.split(" ")[0]);
      break;
    }
  }
  try {
    nodeSlave2.get("test");
    fail();
  } catch (JedisMovedDataException e) {
  }
  nodeSlave2.readonly();
  nodeSlave2.get("test");

  nodeSlave2.clusterReset(Reset.SOFT);
  nodeSlave2.flushDB();
}
项目:cachecloud    文件:JedisClusterTest.java   
@Test
public void testStableSlotWhenMigratingNodeOrImportingNodeIsNotSpecified()
    throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort(nodeInfo1.getHost(), nodeInfo1.getPort()));
  JedisCluster jc = new JedisCluster(jedisClusterNode);

  int slot51 = JedisClusterCRC16.getSlot("51");
  jc.set("51", "foo");
  // node2 is responsible of taking care of slot51 (7186)

  node3.clusterSetSlotImporting(slot51, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  assertEquals("foo", jc.get("51"));
  node3.clusterSetSlotStable(slot51);
  assertEquals("foo", jc.get("51"));

  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  // assertEquals("foo", jc.get("51")); // it leads Max Redirections
  node2.clusterSetSlotStable(slot51);
  assertEquals("foo", jc.get("51"));
}
项目:Jedis    文件:JedisClusterTest.java   
@Test
public void testReadonly() throws Exception {
  node1.clusterMeet(localHost, nodeInfoSlave2.getPort());
  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3, nodeSlave2);

  ClusterNodeInformationParser nodeInfoParser = new ClusterNodeInformationParser();
  for (String nodeInfo : node2.clusterNodes().split("\n")) {
    if (nodeInfo.contains("myself")) {
      nodeSlave2.clusterReplicate(nodeInfo.split(" ")[0]);
      break;
    }
  }
  try {
    nodeSlave2.get("test");
    fail();
  } catch (JedisMovedDataException e) {
  }
  nodeSlave2.readonly();
  nodeSlave2.get("test");

  nodeSlave2.clusterReset(Reset.SOFT);
  nodeSlave2.flushDB();
}
项目:Jedis    文件:JedisClusterTest.java   
@Test
public void testStableSlotWhenMigratingNodeOrImportingNodeIsNotSpecified()
    throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort(nodeInfo1.getHost(), nodeInfo1.getPort()));
  JedisCluster jc = new JedisCluster(jedisClusterNode);

  int slot51 = JedisClusterCRC16.getSlot("51");
  jc.set("51", "foo");
  // node2 is responsible of taking care of slot51 (7186)

  node3.clusterSetSlotImporting(slot51, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  assertEquals("foo", jc.get("51"));
  node3.clusterSetSlotStable(slot51);
  assertEquals("foo", jc.get("51"));

  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  // assertEquals("foo", jc.get("51")); // it leads Max Redirections
  node2.clusterSetSlotStable(slot51);
  assertEquals("foo", jc.get("51"));
}
项目:JRediClients    文件:ClusterCommandsTest.java   
@Test
public void testClusterHardReset() {
  String nodeId = JedisClusterTestUtil.getNodeId(node1.clusterNodes());
  node1.clusterReset(Reset.HARD);
  String newNodeId = JedisClusterTestUtil.getNodeId(node1.clusterNodes());
  assertNotEquals(nodeId, newNodeId);
}
项目:JRediClients    文件:JedisClusterTest.java   
@Test(expected = JedisAskDataException.class)
public void testThrowAskException() {
  int keySlot = JedisClusterCRC16.getSlot("test");
  String node3Id = JedisClusterTestUtil.getNodeId(node3.clusterNodes());
  node2.clusterSetSlotMigrating(keySlot, node3Id);
  node2.get("test");
}
项目:JRediClients    文件:JedisClusterTest.java   
@Test
public void testRecalculateSlotsWhenMoved() throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode, DEFAULT_TIMEOUT, DEFAULT_TIMEOUT, DEFAULT_REDIRECTIONS, "cluster", DEFAULT_CONFIG);
  int slot51 = JedisClusterCRC16.getSlot("51");
  node2.clusterDelSlots(slot51);
  node3.clusterDelSlots(slot51);
  node3.clusterAddSlots(slot51);

  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3);
  jc.set("51", "foo");
  assertEquals("foo", jc.get("51"));
}
项目:JRediClients    文件:JedisClusterTest.java   
@Test
public void testAskResponse() throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode, DEFAULT_TIMEOUT, DEFAULT_TIMEOUT, DEFAULT_REDIRECTIONS, "cluster", DEFAULT_CONFIG);
  int slot51 = JedisClusterCRC16.getSlot("51");
  node3.clusterSetSlotImporting(slot51, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  jc.set("51", "foo");
  assertEquals("foo", jc.get("51"));
}
项目:JRediClients    文件:JedisClusterTest.java   
@Test(expected = JedisClusterMaxRedirectionsException.class)
public void testRedisClusterMaxRedirections() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode, DEFAULT_TIMEOUT, DEFAULT_TIMEOUT, DEFAULT_REDIRECTIONS, "cluster", DEFAULT_CONFIG);
  int slot51 = JedisClusterCRC16.getSlot("51");
  // This will cause an infinite redirection loop
  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  jc.set("51", "foo");
}
项目:JRediClients    文件:JedisClusterTest.java   
@Test
public void testClusterForgetNode() throws InterruptedException {
  // at first, join node4 to cluster
  node1.clusterMeet("127.0.0.1", nodeInfo4.getPort());

  String node7Id = JedisClusterTestUtil.getNodeId(node4.clusterNodes());

  JedisClusterTestUtil.assertNodeIsKnown(node3, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsKnown(node2, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsKnown(node1, node7Id, 1000);

  assertNodeHandshakeEnded(node3, 1000);
  assertNodeHandshakeEnded(node2, 1000);
  assertNodeHandshakeEnded(node1, 1000);

  assertEquals(4, node1.clusterNodes().split("\n").length);
  assertEquals(4, node2.clusterNodes().split("\n").length);
  assertEquals(4, node3.clusterNodes().split("\n").length);

  // do cluster forget
  node1.clusterForget(node7Id);
  node2.clusterForget(node7Id);
  node3.clusterForget(node7Id);

  JedisClusterTestUtil.assertNodeIsUnknown(node1, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsUnknown(node2, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsUnknown(node3, node7Id, 1000);

  assertEquals(3, node1.clusterNodes().split("\n").length);
  assertEquals(3, node2.clusterNodes().split("\n").length);
  assertEquals(3, node3.clusterNodes().split("\n").length);
}
项目:JRediClients    文件:JedisClusterTest.java   
@Test(expected = JedisClusterMaxRedirectionsException.class, timeout = DEFAULT_TIMEOUT)
public void testReturnConnectionOnRedirection() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisPoolConfig config = DEFAULT_CONFIG;
  config.setMaxTotal(1);
  JedisCluster jc = new JedisCluster(jedisClusterNode, 0, 2, DEFAULT_REDIRECTIONS, "cluster", config);

  // This will cause an infinite redirection between node 2 and 3
  node3.clusterSetSlotMigrating(15363, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  jc.get("e");
}
项目:cachecloud    文件:ClusterCommandsTest.java   
@Test
public void testClusterHardReset() {
  String nodeId = JedisClusterTestUtil.getNodeId(node1.clusterNodes());
  node1.clusterReset(Reset.HARD);
  String newNodeId = JedisClusterTestUtil.getNodeId(node1.clusterNodes());
  assertNotEquals(nodeId, newNodeId);
}
项目:cachecloud    文件:JedisClusterTest.java   
@Test(expected = JedisAskDataException.class)
public void testThrowAskException() {
  int keySlot = JedisClusterCRC16.getSlot("test");
  String node3Id = JedisClusterTestUtil.getNodeId(node3.clusterNodes());
  node2.clusterSetSlotMigrating(keySlot, node3Id);
  node2.get("test");
}
项目:cachecloud    文件:JedisClusterTest.java   
@Test
public void testRecalculateSlotsWhenMoved() throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  node2.clusterDelSlots(slot51);
  node3.clusterDelSlots(slot51);
  node3.clusterAddSlots(slot51);

  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3);
  jc.set("51", "foo");
  assertEquals("foo", jc.get("51"));
}
项目:cachecloud    文件:JedisClusterTest.java   
@Test
public void testAskResponse() throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  node3.clusterSetSlotImporting(slot51, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  jc.set("51", "foo");
  assertEquals("foo", jc.get("51"));
}
项目:cachecloud    文件:JedisClusterTest.java   
@Test(expected = JedisClusterMaxRedirectionsException.class)
public void testRedisClusterMaxRedirections() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  // This will cause an infinite redirection loop
  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  jc.set("51", "foo");
}
项目:cachecloud    文件:JedisClusterTest.java   
@Test
public void testClusterForgetNode() throws InterruptedException {
  // at first, join node4 to cluster
  node1.clusterMeet("127.0.0.1", nodeInfo4.getPort());

  String node7Id = JedisClusterTestUtil.getNodeId(node4.clusterNodes());

  JedisClusterTestUtil.assertNodeIsKnown(node3, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsKnown(node2, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsKnown(node1, node7Id, 1000);

  assertNodeHandshakeEnded(node3, 1000);
  assertNodeHandshakeEnded(node2, 1000);
  assertNodeHandshakeEnded(node1, 1000);

  assertEquals(4, node1.clusterNodes().split("\n").length);
  assertEquals(4, node2.clusterNodes().split("\n").length);
  assertEquals(4, node3.clusterNodes().split("\n").length);

  // do cluster forget
  node1.clusterForget(node7Id);
  node2.clusterForget(node7Id);
  node3.clusterForget(node7Id);

  JedisClusterTestUtil.assertNodeIsUnknown(node1, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsUnknown(node2, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsUnknown(node3, node7Id, 1000);

  assertEquals(3, node1.clusterNodes().split("\n").length);
  assertEquals(3, node2.clusterNodes().split("\n").length);
  assertEquals(3, node3.clusterNodes().split("\n").length);
}
项目:cachecloud    文件:JedisClusterTest.java   
@Test(expected = JedisClusterMaxRedirectionsException.class, timeout = 2000)
public void testReturnConnectionOnRedirection() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisPoolConfig config = new JedisPoolConfig();
  config.setMaxTotal(1);
  JedisCluster jc = new JedisCluster(jedisClusterNode, 0, 2, config);

  // This will cause an infinite redirection between node 2 and 3
  node3.clusterSetSlotMigrating(15363, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  jc.get("e");
}
项目:Jedis    文件:ClusterCommandsTest.java   
@Test
public void testClusterHardReset() {
  String nodeId = JedisClusterTestUtil.getNodeId(node1.clusterNodes());
  node1.clusterReset(Reset.HARD);
  String newNodeId = JedisClusterTestUtil.getNodeId(node1.clusterNodes());
  assertNotEquals(nodeId, newNodeId);
}
项目:Jedis    文件:JedisClusterTest.java   
@Test(expected = JedisAskDataException.class)
public void testThrowAskException() {
  int keySlot = JedisClusterCRC16.getSlot("test");
  String node3Id = JedisClusterTestUtil.getNodeId(node3.clusterNodes());
  node2.clusterSetSlotMigrating(keySlot, node3Id);
  node2.get("test");
}
项目:Jedis    文件:JedisClusterTest.java   
@Test
public void testRecalculateSlotsWhenMoved() throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  node2.clusterDelSlots(slot51);
  node3.clusterDelSlots(slot51);
  node3.clusterAddSlots(slot51);

  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3);
  jc.set("51", "foo");
  assertEquals("foo", jc.get("51"));
}
项目:Jedis    文件:JedisClusterTest.java   
@Test
public void testAskResponse() throws InterruptedException {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  node3.clusterSetSlotImporting(slot51, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  jc.set("51", "foo");
  assertEquals("foo", jc.get("51"));
}
项目:Jedis    文件:JedisClusterTest.java   
@Test(expected = JedisClusterMaxRedirectionsException.class)
public void testRedisClusterMaxRedirections() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisCluster jc = new JedisCluster(jedisClusterNode);
  int slot51 = JedisClusterCRC16.getSlot("51");
  // This will cause an infinite redirection loop
  node2.clusterSetSlotMigrating(slot51, JedisClusterTestUtil.getNodeId(node3.clusterNodes()));
  jc.set("51", "foo");
}
项目:Jedis    文件:JedisClusterTest.java   
@Test
public void testClusterForgetNode() throws InterruptedException {
  // at first, join node4 to cluster
  node1.clusterMeet("127.0.0.1", nodeInfo4.getPort());

  String node7Id = JedisClusterTestUtil.getNodeId(node4.clusterNodes());

  JedisClusterTestUtil.assertNodeIsKnown(node3, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsKnown(node2, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsKnown(node1, node7Id, 1000);

  assertNodeHandshakeEnded(node3, 1000);
  assertNodeHandshakeEnded(node2, 1000);
  assertNodeHandshakeEnded(node1, 1000);

  assertEquals(4, node1.clusterNodes().split("\n").length);
  assertEquals(4, node2.clusterNodes().split("\n").length);
  assertEquals(4, node3.clusterNodes().split("\n").length);

  // do cluster forget
  node1.clusterForget(node7Id);
  node2.clusterForget(node7Id);
  node3.clusterForget(node7Id);

  JedisClusterTestUtil.assertNodeIsUnknown(node1, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsUnknown(node2, node7Id, 1000);
  JedisClusterTestUtil.assertNodeIsUnknown(node3, node7Id, 1000);

  assertEquals(3, node1.clusterNodes().split("\n").length);
  assertEquals(3, node2.clusterNodes().split("\n").length);
  assertEquals(3, node3.clusterNodes().split("\n").length);
}
项目:Jedis    文件:JedisClusterTest.java   
@Test(expected = JedisClusterMaxRedirectionsException.class, timeout = 2000)
public void testReturnConnectionOnRedirection() {
  Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
  jedisClusterNode.add(new HostAndPort("127.0.0.1", 7379));
  JedisPoolConfig config = new JedisPoolConfig();
  config.setMaxTotal(1);
  JedisCluster jc = new JedisCluster(jedisClusterNode, 0, 2, config);

  // This will cause an infinite redirection between node 2 and 3
  node3.clusterSetSlotMigrating(15363, JedisClusterTestUtil.getNodeId(node2.clusterNodes()));
  jc.get("e");
}
项目:JRediClients    文件:JedisClusterTest.java   
@Before
public void setUp() throws InterruptedException {
  node1 = new Jedis(nodeInfo1.getHost(), nodeInfo1.getPort());
  node1.auth("cluster");
  node1.flushAll();

  node2 = new Jedis(nodeInfo2.getHost(), nodeInfo2.getPort());
  node2.auth("cluster");
  node2.flushAll();

  node3 = new Jedis(nodeInfo3.getHost(), nodeInfo3.getPort());
  node3.auth("cluster");
  node3.flushAll();

  node4 = new Jedis(nodeInfo4.getHost(), nodeInfo4.getPort());
  node4.auth("cluster");
  node4.flushAll();

  nodeSlave2 = new Jedis(nodeInfoSlave2.getHost(), nodeInfoSlave2.getPort());
  nodeSlave2.auth("cluster");
  nodeSlave2.flushAll();
  // ---- configure cluster

  // add nodes to cluster
  node1.clusterMeet(localHost, nodeInfo2.getPort());
  node1.clusterMeet(localHost, nodeInfo3.getPort());

  // split available slots across the three nodes
  int slotsPerNode = JedisCluster.HASHSLOTS / 3;
  int[] node1Slots = new int[slotsPerNode];
  int[] node2Slots = new int[slotsPerNode + 1];
  int[] node3Slots = new int[slotsPerNode];
  for (int i = 0, slot1 = 0, slot2 = 0, slot3 = 0; i < JedisCluster.HASHSLOTS; i++) {
    if (i < slotsPerNode) {
      node1Slots[slot1++] = i;
    } else if (i > slotsPerNode * 2) {
      node3Slots[slot3++] = i;
    } else {
      node2Slots[slot2++] = i;
    }
  }

  node1.clusterAddSlots(node1Slots);
  node2.clusterAddSlots(node2Slots);
  node3.clusterAddSlots(node3Slots);

  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3);
}
项目:cachecloud    文件:JedisClusterTest.java   
@Before
public void setUp() throws InterruptedException {
  node1 = new Jedis(nodeInfo1.getHost(), nodeInfo1.getPort());
  node1.connect();
  node1.flushAll();

  node2 = new Jedis(nodeInfo2.getHost(), nodeInfo2.getPort());
  node2.connect();
  node2.flushAll();

  node3 = new Jedis(nodeInfo3.getHost(), nodeInfo3.getPort());
  node3.connect();
  node3.flushAll();

  node4 = new Jedis(nodeInfo4.getHost(), nodeInfo4.getPort());
  node4.connect();
  node4.flushAll();

  nodeSlave2 = new Jedis(nodeInfoSlave2.getHost(), nodeInfoSlave2.getPort());
  nodeSlave2.connect();
  nodeSlave2.flushAll();
  // ---- configure cluster

  // add nodes to cluster
  node1.clusterMeet(localHost, nodeInfo2.getPort());
  node1.clusterMeet(localHost, nodeInfo3.getPort());

  // split available slots across the three nodes
  int slotsPerNode = JedisCluster.HASHSLOTS / 3;
  int[] node1Slots = new int[slotsPerNode];
  int[] node2Slots = new int[slotsPerNode + 1];
  int[] node3Slots = new int[slotsPerNode];
  for (int i = 0, slot1 = 0, slot2 = 0, slot3 = 0; i < JedisCluster.HASHSLOTS; i++) {
    if (i < slotsPerNode) {
      node1Slots[slot1++] = i;
    } else if (i > slotsPerNode * 2) {
      node3Slots[slot3++] = i;
    } else {
      node2Slots[slot2++] = i;
    }
  }

  node1.clusterAddSlots(node1Slots);
  node2.clusterAddSlots(node2Slots);
  node3.clusterAddSlots(node3Slots);

  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3);
}
项目:Jedis    文件:JedisClusterTest.java   
@Before
public void setUp() throws InterruptedException {
  node1 = new Jedis(nodeInfo1.getHost(), nodeInfo1.getPort());
  node1.connect();
  node1.flushAll();

  node2 = new Jedis(nodeInfo2.getHost(), nodeInfo2.getPort());
  node2.connect();
  node2.flushAll();

  node3 = new Jedis(nodeInfo3.getHost(), nodeInfo3.getPort());
  node3.connect();
  node3.flushAll();

  node4 = new Jedis(nodeInfo4.getHost(), nodeInfo4.getPort());
  node4.connect();
  node4.flushAll();

  nodeSlave2 = new Jedis(nodeInfoSlave2.getHost(), nodeInfoSlave2.getPort());
  nodeSlave2.connect();
  nodeSlave2.flushAll();
  // ---- configure cluster

  // add nodes to cluster
  node1.clusterMeet(localHost, nodeInfo2.getPort());
  node1.clusterMeet(localHost, nodeInfo3.getPort());

  // split available slots across the three nodes
  int slotsPerNode = JedisCluster.HASHSLOTS / 3;
  int[] node1Slots = new int[slotsPerNode];
  int[] node2Slots = new int[slotsPerNode + 1];
  int[] node3Slots = new int[slotsPerNode];
  for (int i = 0, slot1 = 0, slot2 = 0, slot3 = 0; i < JedisCluster.HASHSLOTS; i++) {
    if (i < slotsPerNode) {
      node1Slots[slot1++] = i;
    } else if (i > slotsPerNode * 2) {
      node3Slots[slot3++] = i;
    } else {
      node2Slots[slot2++] = i;
    }
  }

  node1.clusterAddSlots(node1Slots);
  node2.clusterAddSlots(node2Slots);
  node3.clusterAddSlots(node3Slots);

  JedisClusterTestUtil.waitForClusterReady(node1, node2, node3);
}