Redis4.0從庫複製報錯"master_link_status:down"處理一例
環境描述:
Redis版本:4.0.2
主庫:192.168.0.190
從庫:192.168.0.191
今天Zabbix告警一直出現redis sync error的資訊,於是登陸redis發現從庫複製狀態一直是master_link_status:down的狀態。
從庫日誌報錯資訊如下:
17365:S 28 Dec 14:45:15.294 * Connecting to MASTER 192.168.0.190:6379
17365:S 28 Dec 14:45:15.294 * MASTER <-> SLAVE sync started
17365:S 28 Dec 14:45:15.294 * Non blocking connect for SYNC fired the event.
17365:S 28 Dec 14:45:15.295 * Master replied to PING, replication can continue...
17365:S 28 Dec 14:45:15.295 * Partial resynchronization not possible (no cached master)
17365:S 28 Dec 14:45:15.341 * Full resync from master: 3987160bba8279fe30b828fb339d1c0c6536a3ab:182474982617073
17365:S 28 Dec 14:45:17.293 # I/O error reading bulk count from MASTER: Resource temporarily unavailable
主庫報錯日誌資訊如下:
25573:M 28 Dec 15:38:53.255 * Background saving started by pid 12067
25573:M 28 Dec 15:38:53.258 # Client id=87019085 addr=192.168.0.191:1440 fd=110 name= age=0 idle=0 flags=S db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=6641 oll=1 omem=19125 events=r cmd=psync scheduled to be closed ASAP for overcoming of output buffer limits.
25573:M 28 Dec 15:38:53.356 # Connection with slave 192.168.0.191:6379 lost.
從主庫日誌中我們可以看出在redis主庫在接到從庫要求重新同步資料的時候先生成一個rdb檔案,再透過psync來做部分同步,可以看到問題就出在這一塊,
持續報錯”psync scheduled to be closed ASAP“,這個原因是由於client-output-buffer-limit值設定的太小從而導致資料傳送失敗。
解決方法:
登陸主庫和從庫修改緩衝區佔用內容大小限制:
127.0.0.1:6379> config set client-output-buffer-limit "slave 8589934592 2147483648 0"
OK
同步到配置檔案:
127.0.0.1:6379> config rewrite
OK
檢視配置檔案內容
# cat redis.conf |grep client-output-buffer-limit
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 8gb 2gb 0
登陸從庫192.168.0.191,再次觀察主從複製狀態,發現從庫的的複製狀態很快就變成了up:
# redis-cli info replication
# Replication
role:slave
master_host:192.168.0.190
master_port:6379
master_link_status:up
至此,問題處理完畢。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2286846/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql複製報錯案例處理MySql
- 處理mysql複製故障一例薦MySql
- 主從故障處理--session 級別引數複製錯誤Session
- 複製資料庫的報錯資料庫
- goldengate複製過程字符集處理一例Go
- ogg複製程式報ORA-01438錯誤處理
- aix系統資料庫sqlplus登陸報錯處理一例AI資料庫SQL
- Redis主從複製網路閃斷處理Redis
- GTID複製報錯處理:Last_Error: Error 'Can't drop database 'test';ASTErrorDatabase
- mysql多源複製跳過錯誤處理方法MySql
- MySQL主從複製延遲原因及處理思路MySql
- TiDB DM同步報錯ErrCode 44006處理一例TiDB
- MySQL主從複製問題解決一例MySql
- mysql從庫伺服器down機報錯Could not parse relay log event entryMySql伺服器
- linux VM複製多個IP配置出錯的處理Linux
- 【MySQL】複製1594錯誤(從庫relaylog損壞)MySql
- 資料庫主從複製資料庫
- 【故障處理】 DBCA建庫報錯CRS-2566
- 主主複製的mysql從庫 記憶體表The table 'pvlogs' is full問題處理MySql記憶體
- Extjs報錯處理JS
- DG報錯的處理
- errpt報錯處理
- 主庫異常當機---從庫複製報fatal error 1236Error
- 處理動態連結庫報錯的問題
- DG rman duplicate 複製庫錯誤
- 半同步複製報錯mysql8.0.25MySql
- OGG-00751錯誤處理一例
- Gulp壓縮報錯處理
- rails gem報錯的處理AI
- Javascript程式碼報錯處理JavaScript
- 各種報錯處理方法
- Oracle起動庫時1102報錯處理Oracle
- MySQL 常見同步複製故障處理方法MySql
- OGG複製程式掛起abended處理
- asm報錯一例-support 報錯rename failedASMAI
- MySQL 主從複製錯誤1837MySql
- mysql複製--主從複製配置MySql
- 主庫reset master清理binlog日誌到主從複製錯誤AST