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. 集群存在問題,這個問題一般不會出現,因為搭建好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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 制作 macOS High Sierra
- 下一篇: Boot Option中没有USB启动选