暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Redis主备安装

运维先生 2021-04-15
1397

IP分配

主:192.168.11.174
从:192.168.11.175

安装
参考Redis安装文档

配置
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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论