架构设计:
master:s0
slave:s1、s2
主机映射信息如下:
192.168.32.100 s0 192.168.32.101 s1 192.168.32.102 s2
1、安装Redis,参考
https://www.cnblogs.com/jonban/p/9217221.html
2、配置
编辑 redis.conf
注释主机绑定
# bind 127.0.0.1
配置访问密码
requirepass password
配置master密码
masterauth password
在slave(s1、s2)上添加如下配置:
从属master主机和端口
slaveof s0 6379
验证结果,连接master(需要先启动,参考第一步)
./redis-cli -h s0 -p 6379
输入密码,示例密码为redis123.
auth redis123.
查看
info replication
结果如下:
s0:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.32.101,port=6379,state=online,offset=71,lag=0
slave1:ip=192.168.32.102,port=6379,state=online,offset=71,lag=0
master_repl_offset:71
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:70
可使用同样的方式到s1、s2上验证
3、配置哨兵模式
创建哨兵日志输出目录
mkdir -p /usr/local/redis/logs/
创建 sentinel.conf 到 /usr/local/redis/bin/ 下,配置如下内容:
port 26379 sentinel monitor mymaster s0 6379 1 sentinel auth-pass mymaster redis123. sentinel down-after-milliseconds mymaster 5000 sentinel parallel-syncs mymaster 2 daemonize yes logfile /usr/local/redis/logs/sentinel.log
4、启动哨兵监听
./redis-sentinel sentinel.conf
5、测试
关闭master后,哨兵自动监听,选举出新的master,并修改redis.conf 配置文件属性
重启旧的master服务,会被哨兵监听到,并追加从属新的master配置到redis.conf 配置文件中,角色属性为slave。
实现故障自动切换功能。
Redis主从复制配置.