使用Jedis 访问redis集群遇到的两个小问题

根据官方文档 配置好了redis集群 使用redis-cli命令简单操作下没有任何问题。
但是使用Jedis链接redis出现如下两个错误;
第一次在自己的电脑虚拟机链接的时候报这个错误。
no reachable node in cluster
第二次使用公司的虚拟机链接出现下面的问题
too many cluster redirections
这是我的java代码:

package com.wangdx.jedis;

import java.util.HashSet;
import java.util.Set;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;

public class Test001 {

    public static void main(String[] args){
        Set jedisClusterNodes = new HashSet();
        //Jedis Cluster will attempt to discover cluster nodes automatically
        jedisClusterNodes.add(new HostAndPort("192.168.24.93", 8000));
        JedisCluster jc = new JedisCluster(jedisClusterNodes);
        System.out.println(jc.getClusterNodes().size());
        jc.set("foo11", "bar");
        String value = jc.get("foo11");
        System.out.println(value);
    }
}

后来找了半天 终于搞好了。
1。首先把每个节点的redis.conf 都加上bind属性 bind 192.168.24.93(这个可能不是必须的 自己没有深入测试 但是最好配置上吧)
2. 这是官方的文档给出的配置命令 ./redis-trib.rb create –replicas 1 127.0.0.1:7000 127.0.0.1:7001 \
127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
不要照搬 把IP和端口号 使用实际的ip和端口 我就是使用了127.0.0.1 才导致了各种问题 。请改成
./redis-trib.rb create –replicas 1 192.168.24.93:7000 192.168.24.93:7001
192.168.24.93:7002 192.168.24.93:7003 192.168.24.93:7004 192.168.24.93:7005

PS:如果只是使用redis-cli学习测试的话 使用127.0.0.1这个ip也是没有关系的 要是使用jedis链接redis的话 一定要使用真实的ip 如我的是192.168.24.93

你可能感兴趣的:(java)