一、集群构成
redis cluster是通过将多组master-slave结点整合起来实现的集群功能
二、发现问题
在使用过程中,某一天忽然发现master中有数据,但slave中并没有数据
这个是很奇怪的一个事,按redis官方文档中写的,集群模式中,是会通过自动异步同步完成master和slave的数据同步
三、问题分析
由于之前将redis cluster各结点设置了密码,怀疑是由于这个原因导致的主从不同步
进而查看日志,日志中也显示需要密码认证
这个就是比较坑的地方
由于redis cluster已经不需要设置master的IP和PORT,而是通过集群管理中的node id自动查找到结点IP,并且通过特定端口通信
因此理所当然的想master password也不需要再设置了
四、问题解决
修改redis.conf中下面这段
# masterauth <master-password>
打开注释,设置好master密码,重启,问题解决
五、遗留问题
如果因为某些原因,各结点密码不一致的时候,怎么办