本测试采用VMware虚拟机形式测试。
主从复制采用标准的一主二从形式,端口分别配置为6379.6380.6381.
- 首先,在make好的redis目录内复制redis.conf文件进入自定义文件夹,本次测试目录及文件夹为: /myredis/6379.conf,/myredis/6380.conf,/myredis/6380.conf,/myredis/sentinel.conf(此文件为手工创建,源文件没有,哨兵模式启动的必须配置就在此处)
- 使用命令修改各自的配置文件,具体修改位置如下:
# 6379.conf
port 6379
masterauth mypwd
requirepass mypwd
# 6380.conf
port 6380
masterauth mypwd
requirepass mypwd
slaveof 127.0.0.1 6379
# 6381.conf
port 6381
masterauth mypwd
requirepass mypwd
slaveof 127.0.0.1 6379
# sentinel.conf
port 26379
sentinel monitor mymaster 127.0.0.1 6379 1
sentinel auth-pass mymaster mypwd
sentinel down-after-milliseconds mymaster 15000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 80000
daemonize yes
logfile "/var/log/sentinel.log"
3. 配置完成后,依次启动6379.conf , 6380.conf , 6381.conf 。如果启动redis时出现如下错误:NOAUTH Authentication required. 这是由于配置文件内配置了认证密码,此时只需要输入命令:auth "mypwd" 就OK了。可以使用: info replication 查看各自的主从信息。
4. 启动sentinel.conf。如果出现如下内容则表示配置成功:
5. 此时,停掉设置的主服务器6379,稍等一会,查看sentinel.log日志:tail -200 /usr/log/sentinel.log,会发现日志中多了一些信息,通过阅读可以看出,当我们停掉6379服务器时,哨兵监控发生变化,监控时间由原来设置的15秒监控一次改为每秒监控一次,直到主从切换完成。哨兵模式会自动筛选匹配适合的从服务器,并由SDOWN(主动下线)变为SDOWN(乐观下线),此时再次使用info replication 查看剩下的两台redis服务时,主从信息已发生改变。
5. 不论是生产环境还是测试环境,在此基础上进行相应的redis服务器拓展,或者改为薪火相传模式,如上资料都可以作为参考.