Redis

关注公众号 jb51net

关闭
首页 > 数据库 > Redis > Redis创建集群can‘t connect to node

Redis创建集群can‘t connect to node错误的解决方案

作者:hao_kkkkk

在创建Redis集群时遇到问题,尝试了多种方法,最终通过取消bind配置、关闭保护模式、设置密码并修改client.rb文件中的密码参数,成功创建了一个包含6个节点的Redis集群

Redis创建集群can‘t connect to node

测试环境单台服务器创建6个节点Redis集群,集群节点创建以及启动都正常,但是在执行创建集群命令的时候报错。

# 创建集群命令和报错信息
[root@XXX redis-cluster]# ./redis-trib.rb create --replicas 1 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 127.0.0.1:7006
>>> Creating cluster
[ERR] Sorry, can't connect to node 127.0.0.1:7001​

尝试方法1

redis.conf文件中 bind 127.0.0.1 改为 0.0.0.0,并打开注释 --- 无效

redis.conf文件中 bind 127.0.0.1 改为 服务器物理IP,并打开注释 --- 无效

(6个节点全部修改并全部重启)

尝试方法2

redis.conf文件中protected-mode设置改为no --- 无效

(6个节点全部修改并全部重启)

尝试方法3

redis-trib.rb 创建集群命令使用服务器实际IP,不使用127.0.0.1 --- 无效

尝试方法4

在redis.conf文件中设置redis密码 (6个节点全部执行,并全部重启)

masterauth passwd123
requirepass passwd123

同时通过命令(find / -name "client.rb")找到client.rb文件,并修改password参数

class Client
    DEFAULTS = {
      :url => lambda { ENV["REDIS_URL"] },
      :scheme => "redis",
      :host => "127.0.0.1",
      :port => 6379,
      :path => nil,
      :timeout => 5.0,
      :password => "passwd123",
      :db => 0,
      :driver => nil,
      :id => nil,
      :tcp_keepalive => 0,
      :reconnect_attempts => 1,
      :inherit_socket => false
    }

以上操作完成后仍然无效

尝试方法5

(1)将bind 127.0.0.1 注释掉

(2)保持protected-mode no配置

(3)将masterauth passwd123 和 requirepass passwd123配置注释掉

(4)将client.rb文件中的password配置改为nil

(5)redis-trib.rb创建集群命令中IP使用127.0.0.1

以上前三步都是对全部6个节点操作

创建成功!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文