1
解决方法:
不用 Jedis jed =new jedis("192.168.56.101"); jed.set(key,value); 用 Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>(); //Jedis Cluster will attempt to discover cluster nodes automatically jedisClusterNodes.add(new HostAndPort("192.168.56.101", 6379)); jedisClusterNodes.add(new HostAndPort("192.168.56.101", 6380)); jedisClusterNodes.add(new HostAndPort("192.168.56.101", 6381)); JedisCluster jc = new JedisCluster(jedisClusterNodes); jc.set(key,value);
2
Exception in thread "main" redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException: Too many Cluster redirections?
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:39)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:87)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:72)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:87)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:72)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:87)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:72)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:87)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:72)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:87)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:72)
at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:33)
at redis.clients.jedis.JedisCluster.set(JedisCluster.java:44)
at redisTest.MysqlToRedis.main(MysqlToRedis.java:76)
解决方法: 初始化JedisCluster时,设定JedisCluster的maxRedirections
JedisCluster(Set<HostAndPort> jedisClusterNode, int timeout, int maxRedirections) ; JedisCluster jc = new JedisCluster(jedisClusterNodes,5000,1000);
3
无法读取 节点信息
解决办法: 用root身份启动各个节点 sudo su
4
无法存入redis集群
解决办法: 用redis-cli -c -p 6381 方式连接集群