在上一篇博客----Redis详解(八)------ 主从复制,我们简单介绍了Redis的主从架构,但是这种主从架构存在一个问题,当主服务器宕机,从服务器不能够自动切换成主服务器,为了解决这个问题,我们又介绍了哨兵模式,本篇博客我们继续深入的介绍一下这种模式.
1、架构图
2、服务器列表
3、搭建主从模式
①、主要配置项
主服务器(上图的Node1)配置文件 redis.config 主要配置项:
#配置端口
port6379#以守护进程模式启动
daemonize yes
#pid的存放文件
pidfile/var/run/redis_6379.pid
#日志文件名
logfile"redis_6379.log"#存放备份文件以及日志等文件的目录
dir"/opt/redis/data"
从服务器配置文件主要配置项基本和主服务器保持一致,需要修改端口 port ;另外存放位置和日志文件名也可以根据需要修改.
为了表示主从关系,还需要在从服务器配置文件中添加一行重要配置:
#配置主服务器IP,端口
slaveof192.168.14.101 6379
②、验证主从关系
配置完成后,我们通过 redis-server redis.conf 命令启动Redis.然后通过 redis-cli -p 端口 分别进入到各台服务器的控制行页面:
输入如下命令:
info replication
三台服务器打印结果如下:
由上图可以看到,Node1 服务器作为主服务器,节点角色是 master,另外的两台从服务器,节点角色都是 slave.
另外还可以进行如下测试:可以在主服务器上添加一条数据,然后看看从服务器上是否能够查到该数据.
③、问题
如果对于上面的测试,主服务器上添加的数据,从服务器上无法查询到,可以查看前面配置的目录/opt/redis/data 日志文件,有一种错误如下:
这是由于主服务器设置了登录密码,从服务器在向主服务器进行数据同步复制时,由于不知道主服务器密码,导致连接不上,从而无法进行同步.
解决这个问题,需要明确两个配置: