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