1、设备角色及安装信息
- 设备和角色介绍
主机IP | 角色 |
---|---|
10.10.10.11 | master |
10.10.10.12 | slave |
10.10.10.13 | slave |
- 程序安装
根据”redis程序部署“文档内容在上述三台设备进行安装操作,确保redis程序的安装、启动没有问题,才能进行如下主从复制的配置。
2、主从复制配置
- master设备配置
$ redis-cli -a passwd@123
# 从服务器少于1台,master拒绝执行写命令。
> config set min-slaves-to-write 1
# 从服务器延迟大于10s,master拒绝执行写命令。
> config set min-slaves-max-lag 10
# 建议将复制积压缓冲区进行适当扩大。
> config set repl-backlog-size 10485760
- slave设备配置
在两台slave设备上,通过客户端执行如下配置:
$ redis-cli -a passwd@123
# 设置本机为slave角色,设置master服务的IP地址及端口
> slaveof 10.10.10.11 6379
OK
# 设置master主机连接密码。
> config set masterauth passwd@123
OK
# 设置slave服务器节点只提供读服务
> config set slave-read-only yes
OK
# 当slave服务器和master服务器失去连接或者当数据正在复制传输的时候,配置slave服务器接受客户端请求。如果值为no,会返回给请求的客户端如下信息“SYNC with master in progress”。
> config set slave-serve-stale-data yes
3、主从配置验证
$ redis-cli -a passwd@123
> info replication
# Replication
role:master # 角色
connected_slaves:2 # slaves数量
min_slaves_good_slaves:2
slave0:ip=10.10.10.12,port=6379,state=online,offset=110535,lag=1
slave1:ip=10.10.10.13,port=6379,state=online,offset=110535,lag=1
master_repl_offset:110809 # master偏移量
repl_backlog_active:1
repl_backlog_size:10485760 # 复制积压缓冲区
repl_backlog_first_byte_offset:3222
repl_backlog_histlen:107588