测试环境单台服务器创建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个节点操作

        创建成功

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐