用如下命令创建集群:
redis-trib.rb create --replicas 1
192.168.2.107:7001 192.168.2.107:7002
192.168.2.118:7003 192.168.2.118:7004
192.168.2.109:7005 192.168.2.109:7006
报错:
[ERR] Sorry, can't connect to node 192.168.2.107:7001
在网上查阅了各种资料,包括防火墙、bind,也把protected-mode给关了,都没解决问题。然后想到redis是设置了密码,设置了requirepass后,redis的很多命令都需要通过密码认证,这个很坑,创建集群时没有密码会报“can’t connect to node XXXX”。
创建集群时的密码设置是在client.rb中进行。查找这个文件位置:
find / -name client.rb
注意,这要是redis的lib下面的client.rb。
****/gems/redis-3.3.0/lib/redis/client.rb
该文件有个password,原本是nil,没有配置,我们改成和requirepass一样的密码,
然后,redis全部重启,再次执行创建集群,就解决了!