概述
最近要用到redis集群做缓存,在Linux服务端测试集群没有任何异常,但是在使用jedisClientCluster连接远程的redis集群添加缓存数据的时候却遇到了异常:redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster
总结一下可能出现这个错误的原因:
1. 集群存在问题,这个问题一般不会出现,因为搭建好redis集群肯定要测试没问题才能用到项目里。
2. 防火墙没关闭,一般来说redis集群都是在远程Linux服务器行的,所以可能或存在防火墙的问题,如果没有开放Redis服务的端口,就会导致外界没法连接到Redis。解决办法(以CentOS 7为例)开放端口或者关闭防火墙,一般会直接关闭防火墙:
2.1 开放对应端口:firewall-cmd --zone=public --add-port=6379/tcp --permanent
命令含义:--zone #作用域 --add-port=80/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效
重启防火墙:firewall-cmd --reload
2.2 关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
3.bind配置错误,配置文件redis.conf中默认bind是注释掉的,加了这一行之后redis就只会监听来自配置id的请求,这样如果你请求远程的redis,自然就会请求失败,解决办法就是删掉这个配置,或者注释起来。如果是在本地的redis出现了这个问题,就把127.0.0.1改为本机实际IP地址。
一般遇到这个错误,只要你的代码没问题的话,一般就是这些错误。
最后
以上就是缓慢眼神为你收集整理的redis集群异常 — redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster的全部内容,希望文章能够帮你解决redis集群异常 — redis.clients.jedis.exceptions.JedisConnectionException: no reachable node in cluster所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复