1、前期准备工作说明
192.168.1.55 mymaster 6370
192.168.1.59 slave 6380
192.168.1.43 sentinel 6390
安装redis,自行安装。
2、redis做主从(
三台均已安装redis)
安装完成后,需要做:
端口修改,
主从设置。
编辑配置文件:/usr/local/redis/conf/redis.conf,每次修改之后需要重启服务。
master:
将
port 6379 修
改成port 6370
slave:
将
port 6379 修
改成port 6380
添加slaveof 192.168.1.55 6370
重启服务。slave查看主从状态。
[root@slave ~]# /usr/local/redis/bin/redis-cli -p 6380 info replication
# Replication
role:slave
master_host:192.168.1.55
master_port:6370
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:363937
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
观察上述四个参数,
master_link_status:up,正常,主从建立成功。
3、配置redis sentinel集群监控服务
[root@sentinel]# vi /usr/local/src/redis-3.0.6/sentinel.conf 配置一下几项参数。
port 26379
#master1
sentinel monitor mymaster 192.168.1.55 6370 1
sentinel down-after-milliseconds
mymaster 5000
sentinel failover-timeout
mymaster
900000
#sentinel can-failover
mymaster
yes
sentinel parallel-syncs
mymaster
2
启动sentinel服务,观察后续测试的结果。
[root@mysql1 ~]# /usr/local/src/redis-3.0.6/src/redis-sentinel /usr/local/src/redis-3.0.6/sentinel.conf
4、主从切换测试
测试结果如上,以红色方框区分:
正常状态—mymaster故障—slave故障
正常状态:只读
mymaster故障:具有读写功能。
[root@slave ~]# /usr/local/redis/bin/redis-cli -p 6380 info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.1.55,port=6370,state=online,offset=11413,lag=1
master_repl_offset:11413
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:11412
salve故障:主机恢复正常后,充当slave角色
[root@slave ~]# /usr/local/redis/bin/redis-cli -p 6380 info replication
# Replication
role:slave
master_host:192.168.1.55
master_port:6370
master_link_status:up
master_last_io_seconds_ago:2
master_sync_in_progress:0
slave_repl_offset:7103
slave_priority:100