redis主从复制故障恢复及持久化的意义
admin
2023-03-03 22:02:32
0

redis主从复制故障恢复及持久化的意义
服务器配置:(centos7)

服务器IP 安装组件 节点 备注
192.168.27.210 redis-5.0.5 master 一主两从架构
192.168.26.112 redis-5.0.5 slave
192.168.26.206 redis-5.0.5 slave

最新版下载地址到各结点:Wget http://download.redis.io/releases/redis-5.0.5.tar.gz
redis主从复制故障恢复及持久化的意义
解压压缩包并配置:
redis主从复制故障恢复及持久化的意义
redis主从复制故障恢复及持久化的意义
切换用户(生产环境少用ROOT用户操作)
[jerry@master data]$ sudo chown -R jerry.root redis-5.0.5
redis主从复制故障恢复及持久化的意义
Cd /data/redis-5.0.5/src
make
192.168.27.210配置文件:vim /data/redis-5.0.5/redis-m-7000.conf
bind 0.0.0.0
port 7000
logfile "7000.log"
dbfilename "dump-7000.rdb"
daemonize yes
rdbcompression yes

192.168.26.112配置:
Cd /data/redis-5.0.5/src
make

[jerry@BDDB redis-5.0.5]$ vim /data/redis-5.0.5/redis-s-7000.conf
redis主从复制故障恢复及持久化的意义
bind 0.0.0.0
port 7000
logfile "7000.log"
dbfilename "dump-7000.rdb"
daemonize yes
rdbcompression yes
slaveof 192.168.27.210 7000

192.168.26.206配置:
Cd /data/redis-5.0.5/src
make
redis主从复制故障恢复及持久化的意义
bind 0.0.0.0
port 7000
logfile "7000.log"
dbfilename "dump-7000.rdb"
daemonize yes
rdbcompression yes
slaveof 192.168.27.210 7000
分别启动各结点:
[jerry@master src]$ ./redis-server ../redis-m-7000.conf
redis主从复制故障恢复及持久化的意义
[jerry@BDDB src]$ sudo ln -s /data/redis-5.0.5/src/redis-server /usr/bin/redis-server
[jerry@BDDB src]$ redis-server ../redis-s-7000.conf
redis主从复制故障恢复及持久化的意义
[jerry@DGIDC src]$ sudo ln -s /data/redis-5.0.5/src/redis-server /usr/bin/redis-server
[jerry@DGIDC src]$ redis-server ../redis-s-7000.conf
[jerry@DGIDC src]$ ss -tnl
redis主从复制故障恢复及持久化的意义
看下三台服务器主从状态信息:
redis主从复制故障恢复及持久化的意义
接着我们创建键值,测试主从是否同步:
三个结点我们都创建一个链接,方便我们使用。
[jerry@master src]$ sudo ln -s /data/redis-5.0.5/src/redis-cli /usr/bin/redis-cli
[jerry@BDDB src]$ sudo ln -s /data/redis-5.0.5/src/redis-cli /usr/bin/redis-cli
[jerry@DGIDC src]$ sudo ln -s /data/redis-5.0.5/src/redis-cli /usr/bin/redis-cli
观察主从信息状态:
redis主从复制故障恢复及持久化的意义
info
redis主从复制故障恢复及持久化的意义
redis主从复制故障恢复及持久化的意义
重启主后服务器观察发现未保存的数据将丢失:
redis主从复制故障恢复及持久化的意义
redis主从复制故障恢复及持久化的意义
结论:
使用主从模式时应注意master节点的持久化操作,matser节点在未使用持久化的情况详情下如果宕机,并自动重新拉起服务,从服务器会出现丢失数据的情况。数据丢失的原因:因为master服务挂了之后,重启服务后,slave节点会与master节点进行一次完整的重同步操作,所以由于master节点没有持久化,就导致slave节点上的数据也会丢失掉。所以在配置了Redis的主从模式的时候,应该打开主服务器的持久化功能。
测试使用哨兵模式,自动监视Master节点,当前挂掉后,自动将Slaver节点变为Master节点:
redis主从复制故障恢复及持久化的意义
然后手动切换从(26.206):
redis主从复制故障恢复及持久化的意义
127.0.0.1:7000> slaveof 192.168.26.112 7000
redis主从复制故障恢复及持久化的意义
127.0.0.1:7000> set name tom
redis主从复制故障恢复及持久化的意义
小结:

  1. Master可读可写,Slaver只能读,不能写
  2. Master可以对应多个Slaver,但是数量越多压力越大,延迟就可能越严重
  3. Master写入后立即返回,几乎同时将写入异步同步到各个Slaver,所以基本上延迟可以忽略
  4. 可以通过slaveof no one命令将Slaver升级为Master(当Master挂掉时,手动将某个Slaver变为Master)
  5. 可以通过sentinel哨兵模式监控Master,当Master挂掉时自动选举Slaver变为Master,其它Slaver自动重连新的Master(自动不成功有时需要使用手动切主,暂时还没找到具体原因)

相关内容

热门资讯

印巴冲突一周年,巴基斯坦空军回... 【文/观察者网 阮佳琪】据香港《南华早报》8日报道,巴基斯坦空军(PAF)周四(7日)公布了机队升级...
中疾控:我国无感染病例报告,无... 【大河财立方消息】2026年5月2日,世界卫生组织通报,一艘4月1日从阿根廷出发的极地探险游轮上,暴...
巴西对华不锈钢热轧板卷作出反倾... 【大河财立方消息】 商务部消息,4月30日,巴西外贸秘书处(SECEX)在官方日报发布2026年第3...
姐姐选县长、弟弟选议长恐遭“双... 海峡导报综合报道 国民党下届彰化县长人选卡关,民代谢衣凤强烈表达参选决心,但她的弟弟谢典霖一改常态勤...
文化新观察|从文旅产业GDP占... 日暖风轻起,正是出游时。文化和旅游部最新数据显示,刚刚过去的“五一”假期,全国国内出游3.25亿人次...
年龄相差40多岁,韩执政党党首... 当地时间5月3日,韩国执政党共同民主党党首郑清来携“备战”国会议员补选的前青瓦台人工智能未来规划首席...
人民之心·总书记谈政绩观④|一... 统筹:李琳 杨格策划:叶莉子设计:杨晨悦校对:陈学德素材来源:《人民日报》、新华网
英方裁定2名中国公民有罪,外交... 澎湃新闻记者 杨文钦 朱郑勇5月8日,外交部发言人林剑主持例行记者会。英国广播公司(BBC)记者提问...
特朗普威胁欧盟:7月4日之前履... 【文/观察者网 陈思佳】去年7月,美国和欧盟在英国达成一项贸易协议,但欧盟目前仍未批准协议,引起美国...
四川“人工智能+”一号创新工程... “三步走” ●到2027年,实现人工智能与重点领域广泛深度融合 ●到2030年,加快建成具有全国影响...