IP分配
主:192.168.11.174
从:192.168.11.175
配置
1.主Redis无需配置
若需要配置密码:
requirepass password
masterauth password
2.从Redis需要在配置文件(/etc/redis.conf)里添加:
slaveof 192.168.11.174 6379
若主配置了密码:
requirepass password
masterauth password
启动
1.主Redis
/usr/local/bin/redis-server etc/redis.conf &
2.从Redis
/usr/local/bin/redis-server etc/redis.conf &
此处在配置文件里设置daemon yes,后台启动,就不用加&号了。
测试
登录redis命令行,执行info操作可以看出主从已经配置好:
主从
执行命令测试数据是否备份成功:
主Redis上操作:
redis-cli
>set age 24
从Redis上操作:
redis-cli
>get age
"24"
若显示24,则主从设置成功。
注意:从redis只能读,不能写。
主从自动切换
若要使主从自动切换,需要使用到哨兵服务redis-sentinel,配置文件在安装目录下sentinel.conf。
假设该服务放在192.168.11.174上
开始配置:
port 26379
sentinel monitor master 192.168.11.174 6379 2
sentinel down-after-milliseconds master 5000
sentinel failover-timeout master 900000
sentinel parallel-syncs master 2
#若有密码还需要添加此行
sentinel auth-pass master password
配置说明:
第一行:端口
第二行:指定要检测的实例,别名+iP地址+端口。2表示至少2个sentinel实例同时检测到redis server异常,才判断为宕机,此处没有2个就写1。
第三行:指定某个sentinel实例监控到某个redis实例持续异常多少时间(毫秒),才判断状态为down,此处是5秒。
第四行:若sentinel在该配置内未能完成failover操作(故障时master/slave自动切换),则认为本次failover失败。
第五行:指定failover过程中,同时被sentinel reconfigure的最大slave实例数,由于reconfigure过冲中,对应的slave会中断响应客户端请求,故为了避免所有slave同时不可用,该值需适当配小。
第六行:指定密码
其他:指定sentinel检测到master-name指向的实例异常时,调用的报警脚本。该配置项目可选,但生成环境建议配置。
启动:
/usr/local/bin/redis-sentinel sentinel.conf --sentinel &
测试:
测试:关闭主redis,会自动切换到从redis,时间是5秒。此时从redis变成了主redis。
恢复原主redis,并不会再次切换,而是变成了从redis,原从redis变成了主redis。
文章转载自运维先生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




从
