出現問題
我遇到的一個問題,在連接redis的時候出現了錯誤!錯誤如下:
JedisConnectionException: java.net.ConnectException: Connection refused
看錯誤是 連接被拒絕,網上查了報這個錯誤的相關解決方案,沒有一個可以解決的!
問題就是上面的報錯的問題,先說明一下我出現這個問題的背景或者環境吧。
環境說明
redis集群部署在 A(10.102.1.2)服務器上部署,我在B(10.102.1.1)服務器上進行應用的部署,代碼中配置好了連接redis集群的配置。
過程描述
啟動部署的應用,報上面的錯誤,各種排查,無法解決!
- 使用了 ping,服務器之間是通的。
- 使用了 telnet ,B服務器能telnet上Aredis 的每個端口。沒有任何問題!
因為 A(10.102.1.2)服務器的redis也有其他項目的應用在使用,那說明redis本身是沒有問題的。
然后去找看到redis集群配置的node.conf
看到如下
怎么配置的IP都是本地的回環地址(127.0.0.1)!!!
然后去問其他項目在使用這個redis的應用服務是部署在那台機器上的
回答說:和redis是一台機器!
那這就好接受了,我的連接redis代碼和另外一個項目的連接方法一模一樣,另一個項目和redis部署在一台機器可以連接上,我的和redis部署不在一台機器就連接不上!那說明這個127.0.0.1 這種集群的配置是有坑的!
因為這台機器這個redis集群還在使用,不在重新修改,我於是在A這台機器上有搭建了一套集群,創建集群的時候使用 服務器IP創建!如下圖
然后在應用中修改了redis集群的端口,重啟服務,發現連接正常!
總結
本次問題就這樣解決 了,花費了很多的時間,剛開始以為代碼配置有問題,改了幾次代碼和配置,不行!
最后就在溝通中浪費了很多時間,我說我這邊不能連接redis,對方提供redis服務的人說我們這邊連接的好好的,為什么你連接有問題!
我還能說什么!!! 最后我自己查看redis配置,發現上面配置的可疑點 127.0.0.1 ,自己重新配置一套,驗證自己的猜想,最后發現的確就是這個集群創建的問題!
創建集群的命令:
redis-trib.rb create --replicas 1 10.102.1.1:7080 10.102.1.1:7081 10.102.1.1:7082 10.102.1.1:7083 10.102.1.1:7084 10.102.1.1:7085
注意:如果在服務器上創建redis集群,請記得使用服務器IP,不要使用127.0.0.1,避免我上面的問題,本機器應用可以訪問,其他服務器應用訪問有問題!
最后一張圖,上面的7080這一套是我自己配置的,下面的6380這一套是之前A(10.102.1.2)服務器上原本有的!
如果您覺得這篇博文對你有幫助,請點贊或者喜歡,讓更多的人看到,謝謝!
如果帥氣(美麗)、睿智(聰穎),和我一樣簡單善良的你看到本篇博文中存在問題,請指出,我虛心接受你讓我成長的批評,謝謝閱讀!
祝你今天開心愉快!
歡迎訪問我的csdn博客,我們一同成長!
不管做什么,只要堅持下去就會看到不一樣!在路上,不卑不亢!
博客首頁 : http://blog.csdn.net/u010648555
© 每天都在變得更好的阿飛