搭建一个简单的一主一从二哨兵集群
主服务器端口号6379,从服务器端口号6378,哨兵1服务器端口号26379,哨兵2服务器端口号26439
一、配置服务器
1.配置主服务器,下载Redis-x64-3.2.100改名为Redis-master
2.配置从服务器,复制Redis-master一份,修改配置redis.windows.conf
修改port 6378 增加slaveof 127.0.0.1 6379
3.配置哨兵1服务器,复制Redis-master一份,增加配置redis.windows.sentinel.conf
port 26379
#master
sentinel monitor master 127.0.0.1 6379 2
sentinel down-after-milliseconds master 5000
sentinel failover-timeout master 180000
sentinel parallel-syncs master 1
4.配置哨兵2服务器,复制Redis-master一份,增加配置redis.windows.sentinel.conf
port 26479
#master
sentinel monitor master 127.0.0.1 6379 2
sentinel down-after-milliseconds master 5000
sentinel failover-timeout master 180000
sentinel parallel-syncs master 1
哨兵配置日志说明链接:http://www.redis.cn/topics/sentinel.html
二、启动服务器
1.启动主服务器Redis-master:redis-server.exe redis.windows.conf
2.启动从服务器Redis-slave:redis-server.exe redis.windows.conf
3.启动哨兵1服务器Redis-sentinel:redis-server.exe redis.windows.sentinel.conf --sentinel
4.启动哨兵1服务器Redis-sentinel2:redis-server.exe redis.windows.sentinel.conf --sentinel
三、测试
1.Redis-master目录下执行redis-cli.exe
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=127.0.0.1,port=6378,state=online,offset=76114,lag=0
master_repl_offset:76114
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:76113
2.Redis-slave目录下执行redis-cli.exe
127.0.0.1:6378> info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
master_last_io_seconds_ago:1
master_sync_in_progress:0
slave_repl_offset:437
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
3.Redis-sentinel目录下执行
4.Redis-sentinel2目录下执行
四、模拟主从切换
1.主服务器6379宕机
哨兵1日志
哨兵2日志
结果进行主从切换,启动服务器6379
哨兵日志
结果原主服务器转换为从服务器
启动redis-master的redis-cli.exe,结果如下
2.再进行新主服务器6378宕机
哨兵日志
监测一段时间后,发现未进行主从切换 ,原因待排查
2.尝试网上推荐方案增加主从密码测试
主从配置里增加密码
masterauth "123456"
requirepass "123456"
哨兵配置里增加配置:
sentinel auth-pass master 123456
重新启动所有服务器
1)查看主服务器6379信息
2)模拟主服务器6379宕机
哨兵1和2日志
启动服务器6379,哨兵日志
结果进行了主从切换
模拟新主服务器6378宕机,哨兵日志
启动服务器6378,哨兵日志
验证通过