Redis trouble14 -- signal-handler (1619081683) Received SIGTERM scheduling shutdown...

本文详细探讨了Redis中遇到的三个异常:主从中断、缓存清除和shutdown请求。解决策略涉及调整client-output-buffer-limit、repl-timeout和repl-backlog-size,以及升级jedis版本或重构close方法。分析深入到主从复制原理与shutdown问题的根源,提供了针对性的解决路径。

一、问题描述

异常1:
主从中断报错 
Unable to partial resync with the slave for lack of backlog (Slave request was: 2595405802583).


异常2:
Discarding previously cached master state


异常3:
1:signal-handler (1619081683) Received SIGTERM scheduling shutdown...
1:S 22 Apr 2021 16:54:43.610 # User requested shutdown...
1:S 22 Apr 2021 16:54:43.610 # Redis is now ready to exit, bye bye...

 二、解决方案

1.先将主从状态恢复,再查找前边shutdown的问题
config set client-output-buffer-limit 'slave 0 0 0'
config set repl-timeout 1200 (默认是60s,日志上显示加载一次7分钟就断开了)
config set repl-backlog-size 10485760 (默认1048576 1M,设置这个是为了避免psync的时候大小不足)
2.shutdown问题
这个目前定位是jedis的版本问题,可以升级jedis版本到2.4.x以上或者是更换成lettuce,或重写close方法,或在destroymethod=""

三、问题分析

1.主从断开的问题

replication buffer由client-output-buffer-limit slave设置,当这个值太小会导致主从复制链接断开: 当master-slave复制连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值