(十四)Redis数据库-在Centos7下配置Redis5.0主从复制模式

x33g5p2x  于2021-12-19 转载在 其他  
字(1.4k)|赞(0)|评价(0)|浏览(278)

我的系统版本为CentOS7.5,redis版本5.0.4

Centos7下配置Redis5.0主从

主服务器配置:

#设置访问密码
requirepass admin123

#自定义端口
port 6379

从服务器配置:

#设置访问密码
requirepass admin123

#自定义端口
port 6380

#主服务器连接密码
masterauth admin123

#设置成为192.168.1.101的从服务器,注意之前的redis版本是slaveof
replicaof 127.0.0.1 6379

#从服务器只读
replica-read-only yes

***注意我这里是在本机启动了另外一个实例使用6380端口作为slave,从服务配置文件中还需修改一下信息***

port 6380 #设置端口

pidfile /var/run/redis/redis_6380.pid #设置pid文件

logfile /var/log/redis/redis_6380.log #设置log文件

dbfilename dump_6380.rdb #设置RDB持久化文件

appendfilename "appendonly_6380.aof" #设置aof持久化文件

配置防火墙:

#允许外部访问6379端口
firewall-cmd --zone=public --add-port=6380/tcp --permanent

#配置生效
systemctl restart firewalld.service

主从复制的其他配置:

#当主从断开,从服务器是否继续提供服务
replica-serve-stale-data yes

#支持disk:master端将RDB file写到disk,稍后再传送到slave端;无磁盘diskless:master端直接将RDB file传到slave socket,不需要与disk进行交互。无磁盘diskless方式适合磁盘读写速度慢但网络带宽非常高的环境。
repl-diskless-sync no 

#无磁盘diskless方式在进行数据传递之前会有一个时间的延迟,以便slave端能够进行到待传送的目标队列中,这个时间默认是5秒 
repl-diskless-sync-delay 5 

#slave端向server端发送pings的时间区间设置,默认为10秒 
repl-ping-replica-period 10

#主从复制超时时间
repl-timeout 60

#是否启用TCP_NODELAY,如果启用则会使用少量的TCP包和带宽去进行数据传输到slave端,当然速度会比较慢;如果不启用则传输速度比较快,但是会占用比较多的带宽。
repl-disable-tcp-nodelay no

#复制积压缓冲大小
repl-backlog-size 1mb

#如果一段时间后没有slave连接到master,则backlog size的内存将会被释放。如果值为0则表示永远不释放这部份内存。 
repl-backlog-ttl 3600

#Sentinel选举master的优先级,数字越小优先级越高
replica-priority 100

#当master少于3个延迟小于10秒的slave时不接受写操作
min-replicas-to-write 3
min-replicas-max-lag 10

相关文章