2 yangzhi java yangzhi_java 于 2016.03.25 12:26 提问

关于redis集群 no reachable node in cluster的错误

代码如下
private static JedisCluster jedisCluster = null;
static{
Set nodes = new HashSet<>();
nodes.add(new HostAndPort("114.112.69.204", 7001));
nodes.add(new HostAndPort("114.112.69.204", 7002));
nodes.add(new HostAndPort("114.112.69.204", 7003));
nodes.add(new HostAndPort("114.112.69.204", 7004));
nodes.add(new HostAndPort("114.112.69.204", 7005));
nodes.add(new HostAndPort("114.112.69.204", 7006));
// 1、创建一个JedisCluster对象,构造方法,需要指定一个Set对象,set中包含HostAndPort对象。每个HostAndPort就是一个节点的地址。
jedisCluster = new JedisCluster(nodes);
/*JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(1000);
config.setMaxIdle(300);
config.setMaxWait(10000);
config.setTestOnBorrow(false);
jedisPool =new JedisPool(config, "114.112.69.204", 6379);*/
}
@RequestMapping("/index.html")
@ResponseBody
//加入redis缓存
public Map index(HttpServletRequest request, HttpServletResponse response) throws IOException {

    Map<String, Object> result = new HashMap<String, Object>();
    ObjectMapper objectMapper = new ObjectMapper();
    IndexResult indexResult = null;
    String indexJson = jedisCluster.hget("indexResult_KEY","indexResult666");
    if (StringUtils.isNotBlank(indexJson)) {
        try {//取出redis中的数据
            indexResult = objectMapper.readValue(indexJson, IndexResult.class);
        } catch (JsonParseException e) {

            e.printStackTrace();
        } catch (JsonMappingException e) {

            e.printStackTrace();
        } catch (IOException e) {

            e.printStackTrace();
        }finally{
            if (jedisCluster != null) {
                jedisCluster.close();
            }
        }
在正常请求时会报错!!!!主要错误如下
严重: Servlet.service() for servlet [goutrip_api] in context with path [] threw exception [Request processing failed; nested exception is redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster] with root cause

redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster
at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandler.java:54)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:113)
at redis.clients.jedis.JedisClusterCommand.runWithRetries(JedisClusterCommand.java:131)
at redis.clients.jedis.JedisClusterCommand.run(JedisClusterCommand.java:30)
at redis.clients.jedis.JedisCluster.hget(JedisCluster.java:361)
at com.goutrip.controller.index.IndexController.index(IndexController.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)

而使用命令行取出数据是没有问题的
![图片说明](https://img-ask.csdn.net/upload/201603/25/1458879946_317708.png)

要崩溃了啊!!!!快来救救我!!!!!!!!

5个回答

yangzhi_java
yangzhi_java   2016.03.25 17:44

问题已经解决了,就是包的冲突

weixin_41525305
weixin_41525305 想问一下博主,是什么包冲突了?能不能说清楚一点
4 个月之前 回复
liuyuantu
liuyuantu 回复weixin_39714339: 你的问题后来解决没有?
9 个月之前 回复
liuyuantu
liuyuantu 真钓胃口,说了还不如不说,这问题我现在卡住了,快要疯了
9 个月之前 回复
weixin_39714339
weixin_39714339 能不能说清楚什么包的冲突呢???
10 个月之前 回复
qq_33650012
qq_33650012 请问题主是哪个包冲突引起的,我也是相同的问题,本地测试没问题,在测试环境总是报这个错误,谢谢!
大约 2 年之前 回复
donggang1992
donggang1992   2016.03.25 13:39

你是不是用虚拟机搭建的redis,吧虚拟机的防火请关了再试一下

donggang1992
donggang1992 回复yangzhi_java: 在你机子上telnet一下6379端口,看看通不
2 年多之前 回复
yangzhi_java
yangzhi_java 不是虚拟机,是公司的服务器
2 年多之前 回复
yangzhi_java
yangzhi_java 服务器的防火墙我也都关了啊,好崩溃
2 年多之前 回复
yangzhi_java
yangzhi_java 我在demo里面没有问题,就是一到项目里面就这样了
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.03.25 13:44

是不是程序不能访问对应的服务器节点等。

yangzhi_java
yangzhi_java 能再说细点吗,我已经使出浑身解数了,好迷茫,哈哈
2 年多之前 回复
CSDNXIAOS
CSDNXIAOS   2016.03.30 11:23

运行java项目时报错,提示集群挂了。
在服务器运行redis-trib.rb check 127.0.0.1:6380进行检查

发现有报错提示:不能加载相关文件

正常的应该是:

解决方案:
先save数据再删除从节点,然后进行重启从节点实例
再次检查ok......
答案就在这里:redis集群报错:clusterdown the cluster is down
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

yangzhi_java
yangzhi_java   2016.03.25 12:26

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于redis集群 no reachable node in cluster的错误(在命令行正常,而在eclipse运行失败)
问题是防火墙没关,可以在命令行做以下配置即可 红色字是需要操作的,完成就ok了 [root@bogon redis-cluster]#  vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7006 -j ACCEPT # Firewall configurati
在使用代码连接redis集群时报:no reachable node in cluster,解决办法
通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool   一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the p
关于redis集群 no reachable node in cluster的错误
这种情况是提供者(service)和消费者(controller)之间无法正常通信造成的。该次bug经查是controller端的ip地址有误,两者分别注册在不同虚拟机的zookeeper上,因此通信失败。...
redis集群出现JedisNoReachableClusterNodeException异常(No reachable node in cluster)
redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(JedisSlotBasedConnectionHandl
redis集群异常 — redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster
最近要用到redis集群做缓存,在Linux服务端测试集群没有任何异常,但是在使用jedisClientCluster连接远程的redis集群添加缓存数据的时候却遇到了异常:redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster总结一下可能出现这个错误的原因:1. 集群存在问题,这个...
liunx 集群错误 redis.clients.jedis.exceptions.JedisNoReachableClusterNode No reachable node in cluster
Exception in thread "main" redis.clients.jedis.exceptions.JedisNoReachableClusterNodeException: No reachable node in cluster at redis.clients.jedis.JedisSlotBasedConnectionHandler.getConnection(Jedis
使用Jedis 访问redis集群遇到的两个小问题
根据官方文档 配置好了redis集群 使用redis-cli命令简单操作下没有任何问题。 但是使用Jedis链接redis出现如下两个错误; 第一次在自己的电脑虚拟机链接的时候报这个错误。 no reachable node in cluster 第二次使用公司的虚拟机链接出现下面的问题 too many cluster redirections 这是我的java代码:package c
redis集群故障分析
故障表象: 业务层面显示提示查询redis失败 集群组成: 3主3从,每个节点的数据有8GB 机器分布: 在同一个机架中, xx.x.xxx.199 xx.x.xxx.200 xx.x.xxx.301 redis-server进程状态: 通过命令ps -eo pid,lstart | grep $pid, 发现进程已经持续运行了3个月 发生故
集群测试报no reachable node in cluster的解决方法
/** * 集群版测试 */ @Test public void testJedisCluster() { HashSet&amp;lt;HostAndPort&amp;gt; nodes = new HashSet&amp;lt;&amp;gt;(); nodes.add(new HostAndPort(&quot;192.168.102.130&quot;, 7001)); nodes.add(new HostAndPort(&quot;1...
[Redis Cluster]Redis cluster集群报错解决集锦(更新中)
一 Node is not empty  [ERR] Node 192.168.161.131:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0. 1)将每个节点下aof、rdb、