日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > 數據庫 > Redis > 正文

深入剖析Redis集群故障

2020-02-17 14:53:44
字體:
來源:轉載
供稿:網友

其實在此之前,武林技術小編也有寫過關于Redis集群故障的問題,也得到不錯的反饋,但依然有些朋友還在困惑,為此,今天武林技術小編給出這篇深入剖析Redis集群故障,希望能夠幫助到各位更好的學習。

故障表象:

業務層面顯示提示查詢redis失敗

集群組成:

3主3從,每個節點的數據有8GB

機器分布:

在同一個機架中,

xx.x.xxx.199
xx.x.xxx.200
xx.x.xxx.201

redis-server進程狀態:

通過命令ps -eo pid,lstart | grep $pid,

發現進程已經持續運行了3個月

發生故障前集群的節點狀態:

xx.x.xxx.200:8371(bedab2c537fe94f8c0363ac4ae97d56832316e65) master
xx.x.xxx.199:8373(792020fe66c00ae56e27cd7a048ba6bb2b67adb6) slave
xx.x.xxx.201:8375(5ab4f85306da6d633e4834b4d3327f45af02171b) master
xx.x.xxx.201:8372(826607654f5ec81c3756a4a21f357e644efe605a) slave
xx.x.xxx.199:8370(462cadcb41e635d460425430d318f2fe464665c5) master
xx.x.xxx.200:8374(1238085b578390f3c8efa30824fd9a4baba10ddf) slave

---------------------------------下面是日志分析--------------------------------------

步1:
主節點8371失去和從節點8373的連接:
46590:M 09 Sep 18:57:51.379 # Connection with slave xx.x.xxx.199:8373 lost.

步2:
主節點8370/8375判定8371失聯:
42645:M 09 Sep 18:57:50.117 * Marking node bedab2c537fe94f8c0363ac4ae97d56832316e65 as failing (quorum reached).

步3:
從節點8372/8373/8374收到主節點8375說8371失聯:
46986:S 09 Sep 18:57:50.120 * FAIL message received from 5ab4f85306da6d633e4834b4d3327f45af02171b about bedab2c537fe94f8c0363ac4ae97d56832316e65

步4:
主節點8370/8375授權8373升級為主節點轉移:
42645:M 09 Sep 18:57:51.055 # Failover auth granted to 792020fe66c00ae56e27cd7a048ba6bb2b67adb6 for epoch 16

步5:
原主節點8371修改自己的配置,成為8373的從節點:
46590:M 09 Sep 18:57:51.488 # Configuration change detected. Reconfiguring myself as a replica of 792020fe66c00ae56e27cd7a048ba6bb2b67adb6

步6:
主節點8370/8375/8373明確8371失敗狀態:
42645:M 09 Sep 18:57:51.522 * Clear FAIL state for node bedab2c537fe94f8c0363ac4ae97d56832316e65: master without slots is reachable again.

步7:
新從節點8371開始從新主節點8373,第一次全量同步數據:
8373日志::
4255:M 09 Sep 18:57:51.906 * Full resync requested by slave xx.x.xxx.200:8371
4255:M 09 Sep 18:57:51.906 * Starting BGSAVE for SYNC with target: disk
4255:M 09 Sep 18:57:51.941 * Background saving started by pid 5230
8371日志::
46590:S 09 Sep 18:57:51.948 * Full resync from master: d7751c4ebf1e63d3baebea1ed409e0e7243a4423:440721826993

步8:
主節點8370/8375判定8373(新主)失聯:
42645:M 09 Sep 18:58:00.320 * Marking node 792020fe66c00ae56e27cd7a048ba6bb2b67adb6 as failing (quorum reached).

步9:
主節點8370/8375判定8373(新主)恢復:
60295:M 09 Sep 18:58:18.181 * Clear FAIL state for node 792020fe66c00ae56e27cd7a048ba6bb2b67adb6: is reachable again and nobody is serving its slots after some time.

步10:
主節點8373完成全量同步所需要的BGSAVE操作:
5230:C 09 Sep 18:59:01.474 * DB saved on disk
5230:C 09 Sep 18:59:01.491 * RDB: 7112 MB of memory used by copy-on-write
4255:M 09 Sep 18:59:01.877 * Background saving terminated with success

步11:
從節點8371開始從主節點8373接收到數據:
46590:S 09 Sep 18:59:02.263 * MASTER <-> SLAVE sync: receiving 2657606930 bytes from master

步12:
主節點8373發現從節點8371對output buffer作了限制:
4255:M 09 Sep 19:00:19.014 # Client id=14259015 addr=xx.x.xxx.200:21772 fd=844 name= age=148 idle=148 flags=S db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=16349 oll=4103 omem=95944066 events=rw cmd=psync scheduled to be closed ASAP for overcoming of output buffer limits.
4255:M 09 Sep 19:00:19.015 # Connection with slave xx.x.xxx.200:8371 lost.

步13:
從節點8371從主節點8373同步數據失敗,連接斷了,第一次全量同步失敗:
46590:S 09 Sep 19:00:19.018 # I/O error trying to sync with MASTER: connection lost
46590:S 09 Sep 19:00:20.102 * Connecting to MASTER xx.x.xxx.199:8373
46590:S 09 Sep 19:00:20.102 * MASTER <-> SLAVE sync started

步14:
從節點8371重新開始同步,連接失敗,主節點8373的連接數滿了:
46590:S 09 Sep 19:00:21.103 * Connecting to MASTER xx.x.xxx.199:8373
46590:S 09 Sep 19:00:21.103 * MASTER <-> SLAVE sync started
46590:S 09 Sep 19:00:21.104 * Non blocking connect for SYNC fired the event.
46590:S 09 Sep 19:00:21.104 # Error reply to PING from master: '-ERR max number of clients reached'

步15:
從節點8371重新連上主節點8373,第二次開始全量同步:
8371日志:
46590:S 09 Sep 19:00:49.175 * Connecting to MASTER xx.x.xxx.199:8373
46590:S 09 Sep 19:00:49.175 * MASTER <-> SLAVE sync started
46590:S 09 Sep 19:00:49.175 * Non blocking connect for SYNC fired the event.
46590:S 09 Sep 19:00:49.176 * Master replied to PING, replication can continue...
46590:S 09 Sep 19:00:49.179 * Partial resynchronization not possible (no cached master)
46590:S 09 Sep 19:00:49.501 * Full resync from master: d7751c4ebf1e63d3baebea1ed409e0e7243a4423:440780763454
8373日志:
4255:M 09 Sep 19:00:49.176 * Slave xx.x.xxx.200:8371 asks for synchronization
4255:M 09 Sep 19:00:49.176 * Full resync requested by slave xx.x.xxx.200:8371
4255:M 09 Sep 19:00:49.176 * Starting BGSAVE for SYNC with target: disk
4255:M 09 Sep 19:00:49.498 * Background saving started by pid 18413
18413:C 09 Sep 19:01:52.466 * DB saved on disk
18413:C 09 Sep 19:01:52.620 * RDB: 2124 MB of memory used by copy-on-write
4255:M 09 Sep 19:01:53.186 * Background saving terminated with success

步16:
從節點8371同步數據成功,開始加載經內存:
46590:S 09 Sep 19:01:53.190 * MASTER <-> SLAVE sync: receiving 2637183250 bytes from master
46590:S 09 Sep 19:04:51.485 * MASTER <-> SLAVE sync: Flushing old data
46590:S 09 Sep 19:05:58.695 * MASTER <-> SLAVE sync: Loading DB in memory

步17:
集群恢復正常:
42645:M 09 Sep 19:05:58.786 * Clear FAIL state for node bedab2c537fe94f8c0363ac4ae97d56832316e65: slave is reachable again.

步18:
從節點8371同步數據成功,耗時7分鐘:
46590:S 09 Sep 19:08:19.303 * MASTER <-> SLAVE sync: Finished with success

8371失聯原因分析:

由于幾臺機器在同一個機架,不太可能發生網絡中斷的情況,于是通過SLOWLOG GET命令查看了慢查詢日志,發現有一個KEYS命令被執行了,耗時8.3秒,再查看集群節點超時設置,發現是5s(cluster-node-timeout 5000)

出現節點失聯的原因:

客戶端執行了耗時1條8.3s的命令,

2016/9/9 18:57:43 開始執行KEYS命令
2016/9/9 18:57:50 8371被判斷失聯(redis日志)
2016/9/9 18:57:51 執行完KEYS命令

總結來說,有以下幾個問題:

1.由于cluster-node-timeout設置比較短,慢查詢KEYS導致了集群判斷節點8371失聯

2.由于8371失聯,導致8373升級為主,開始主從同步

3.由于配置client-output-buffer-limit的限制,導致第一次全量同步失敗了

4.又由于PHP客戶端的連接池有問題,瘋狂連接服務器,產生了類似SYN攻擊的效果

5.第一次全量同步失敗后,從節點重連主節點花了30秒(超過了最大連接數1w)

關于client-output-buffer-limit參數:

# The syntax of every client-output-buffer-limit directive is the following: # # client-output-buffer-limit  # # A client is immediately disconnected once the hard limit is reached, or if # the soft limit is reached and remains reached for the specified number of # seconds (continuously). # So for instance if the hard limit is 32 megabytes and the soft limit is # 16 megabytes / 10 seconds, the client will get disconnected immediately # if the size of the output buffers reach 32 megabytes, but will also get # disconnected if the client reaches 16 megabytes and continuously overcomes # the limit for 10 seconds. # # By default normal clients are not limited because they don't receive data # without asking (in a push way), but just after a request, so only # asynchronous clients may create a scenario where data is requested faster # than it can read. # # Instead there is a default limit for pubsub and slave clients, since # subscribers and slaves receive data in a push fashion. # # Both the hard or the soft limit can be disabled by setting them to zero. client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 

采取措施:

1.單實例的切割到4G以下,否則發生主從切換會耗時很長

2.調整client-output-buffer-limit參數,防止同步進行到一半失敗

3.調整cluster-node-timeout,不能少于15s

4.禁止任何耗時超過cluster-node-timeout的慢查詢,因為會導致主從切換

5.修復客戶端類似SYN攻擊的瘋狂連接方式

總結

以上就是深入剖析Redis集群故障的全部內容,希望對大家有所幫助,如有不足之處,請留言,小編會及時更正。感謝朋友們對武林技術頻道的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

高清一区二区| 中文字幕欧美日韩在线不卡| 精品欧美日韩在线| 粉嫩粉嫩芽的虎白女18在线视频| 一区二区三区视频网站| 欧美日韩综合在线免费观看| 午夜一区二区视频| 中文字幕亚洲一区二区av在线| 91精品999| 欧美日韩国产影片| 欧美久久一二三四区| 久久久另类综合| 亚洲成av人片在线| 精品日韩在线播放| 欧美日韩国产综合网| 久久91精品视频| 免费国产h视频在线观看86| 国产日韩精品电影| 中文字幕 欧美日韩| 国产在线第一页| 国产黄色精品| 国产福利久久| 国产福利三区| 欧美日韩国产专区| 黄色国产网站在线观看| 亚洲午夜91| 国产www.大片在线| 国产99对白在线播放| 樱花草www在线观看| aaa大片在线观看| 亚洲视频一二三四| 欧美日韩精品中文字幕| 欧美午夜精品在线| 亚洲一区日韩精品中文字幕| 欧美日韩国产影片| 天堂中文在线视频| 97久久精品| 日韩精品视频在线观看视频| 久久福利视频一区二区| 日韩国产欧美在线视频| 91精品视频在线| 在线视频不卡一区二区| 在线中文字幕视频观看| aaa欧美日韩| av免费在线观看网址| 在线黄色国产电影| 国产欧美日韩91| 国产日韩电影| 亚洲视频在线观看三级| 91精品国产全国免费观看| 中文字幕欧美日韩在线| 欧美一级久久| 久久人人88| 国产亚洲人成a一在线v站| 日韩国产高清一区| 一级日本免费的| 国产黄在线观看| 91精品国产91久久久久青草| 国产在成人精品线拍偷自揄拍| 欧美色视频一区二区三区在线观看| 亚洲一区精品在线| 在线视频不卡国产V| 欧美日韩国产第一页| 欧美日韩中文| 欧美日韩999| av中文网站| 欧美日韩性视频一区二区三区| 中文字幕欧美国内| 亚洲国产欧美91| 正在播放日韩精品| 中文在线а√在线8| 色欧美日韩亚洲| www.尤物.com| 中文字幕一区二区三区精品| 欧美亚洲天堂网| 亚洲一区在线观看网站| 日韩欧美中文字幕一区| √天堂资源中文www| 亚洲国产无线乱码在线观看| 精品久久久视频| 亚洲一级特黄| 欧美日韩综合在线| 蜜桃视频中文字幕| 日韩国产欧美三级| av中文在线播放| 青青国产91久久久久久| 欧美性生交大片免费| 欧美日韩高清在线| av高清一区| 亚洲三级免费看| 国产三级在线观看视频| 美女免费视频一区| 欧美日韩免费精品| 色欧美日韩亚洲| 中文字幕亚洲二区 | 午夜伦欧美伦电影理论片| 亚洲国产综合久久| 欧美日韩夫妻久久| 欧美日韩高清在线播放| 在线日韩欧美| 中文字幕一区免费| 亚洲最大黄色| 欧美日韩国产一区| 亚洲综合视频一区| 日韩不卡av| 免费精品国产自产拍观看| 免费看黄资源大全高清| 日韩精品视频免费播放| 伊人亚洲视频| 精品视频1区2区3区| 国产劲爆久久| 日韩欧美国产黄色| 日本中文字幕在线观看| 九七久久人人| 欧美国产一区视频在线观看| 国产 欧美在线| 免费在线观看国产黄| 国产福利在线播放| 欧美日韩精品久久久| 亚洲国产综合久久| 91精品国产91久久久久青草| 国产91久久久久| 在线国产91| 粉嫩喷白浆久久| 国产福利久久久| 欧美日韩在线播放一区| 亚洲视频日韩| 日韩午夜高潮| 国产香蕉精品视频| 日韩精品在线私人| av午夜在线| 国产欧美日韩视频在线| 精品免费久久久| 刘玥91精选国产在线观看| 欧美日韩中文国产| 久久99久久久久久久噜噜| 日韩精品视频在线| 欧美二区在线观看| 久久久精品99| 欧美日韩一级视频| 日韩欧美99| av一区在线观看| 蜜桃精品视频| 欧美日韩国产一区| 香蕉精品久久| www.精品av.com| 樱花草www在线观看| 中文字幕在线视频网| 亚洲一区在线观看免费| 国产在线第一页| 日韩视频在线免费播放| 蜜臀久久精品| 欧洲精品二区| 精品欧美日韩| 婷婷久久综合网| 韩国v欧美v日本v亚洲| 久久中文精品| 91精品国产自产在线丝袜啪| 91精品在线视频观看| 欧美日韩三级在线| 日韩不卡在线观看| 精品视频资源站| 久久蜜桃精品| 日韩三级视频中文字幕| 亚洲免费播放| 国产午夜精品视频| 精品视频在线视频| 欧美日韩中文字幕视频| 日韩欧美中文在线| 欧美日韩精品中文字幕| 中文字幕99| √新版天堂资源在线资源| 日韩在线一区二区| 久久精品国产成人一区二区三区| 中文字幕国产日韩| 久久香蕉av| 五月综合激情日本mⅴ| 精品福利一区二区三区| 日韩免费精品视频| 亚洲黄在线观看| 国产欧美久久久| 精品日韩在线| 黄污视频在线看| 91精品在线观看视频| 不卡福利视频| 亚洲 国产 欧美 日韩| 在线综合 亚洲 欧美中文字幕| 国产黄色高清在线| 91精品国产91综合久久蜜臀| 国产激情久久| 日韩在线观看一区| 91精品xxx在线观看| 人成免费在线视频| 日韩国产亚洲欧美| 久久精品国产2020观看福利| 国产在线精品国自产拍免费| 伊人国产视频| 日韩视频免费直播| 中文字幕视频一区二区三区久| 中文字幕日韩欧美在线视频| 亚洲人线精品午夜| 国产123在线| 综合激情一区| 日韩在线视频免费观看| 国产欧美久久久久久久久| 欧美国产一级| 久久精品99久久久久久久久| 亚洲高清不卡一区| 日韩三级视频在线看| 日韩免费高清一区二区| 欧美日韩亚州综合| 免费高清特黄a大片| 国产欧美日韩综合| 免费视频二区| 久久永久免费视频| 91精品国产乱码久久蜜臀| 1区2区在线| 国产小视频免费在线网址| 精品无人国产偷自产在线| 国产激情在线| 日韩中文字幕在线观看视频| 亚洲影视资源网| 国产超级va在线视频| 午夜影院在线观看欧美| 国产福利精品导航| 欧美三级中文字幕| 日韩欧美亚洲视频| 久久久久蜜桃| 欧美日韩免费不卡视频一区二区三区| 亚洲国内精品视频| 日韩在线观看a| 蜜桃久久av一区| 欧美日韩第一区日日骚| 白嫩少妇丰满一区二区| www.三级.com| 欧美日韩中文在线| 国产黄色在线播放| 精品国产乱码久久久久久牛牛| 日韩欧美在线精品| 91麻豆免费视频网站| 欧美成人二区| 一区视频在线播放| 日韩黄色在线播放| 欧美日韩国产123区| 欧美sm一区| 91九色在线看| 中文字幕成人乱码在线电影| 在线看欧美日韩| 日本а中文在线天堂| 国产一区高清视频| www.精品视频| 三级网站免费观看| 一区二区三区高清在线| 欧美亚洲天堂网| 欧美色视频一区二区三区在线观看| av一区二区高清| 1区2区在线| 日韩久久精品成人| 欧美日韩亚洲天堂| 一级特黄aaa大片在线观看| 国产乱一区二区| 欧美日韩高清不卡| 国产啊啊啊视频在线观看| 国产一卡2卡3卡四卡网站| 欧美在线亚洲一区| 一级一片免费视频| 色综合久久88色综合天天免费| 国产日韩专区| 久久精品网站免费观看| av中文在线播放| 欧美日韩尤物久久| 久久精品久久久久| 日韩精品在线免费播放| 日韩一级中文字幕| 久久精品免费在线观看| 国产黄色片中文字幕| 日韩欧美99| 亚洲大片精品永久免费| 国产h片在线观看| av免费看在线| 精品亚洲成a人片在线观看| 亚洲欧洲国产视频| 91精品综合久久| 欧美日韩精品在线播放| 韩国av一区二区| 日韩精品视频网| 一级片免费在线| 日韩欧美综合在线| 日韩欧美中文在线| 中文天堂在线一区| 日韩欧美中文字幕在线观看| 精品日韩视频| 欧美日韩国产页| 日韩中文字幕国产| 国产欧美日韩精品在线观看| 精品久久久91| 一区二区日韩免费看| 欧美日韩一区二区在线视频| 国产1卡2卡三卡四卡网站| 高清一区二区| 欧美日韩综合在线观看| 在线国产1区| 欧美日本精品在线| 国产欧美日韩视频在线| 欧美亚洲另类制服自拍| 97视频在线| 欧美日韩在线看| 日韩欧美国产三级| 日韩不卡高清视频| 欧美日韩国产综合视频在线观看| 欧洲精品二区| 精品人妻一区二区免费视频| 日韩亚洲国产欧美| 久久精品www| 在线观看国产一区| 91精品国产全国免费观看| 亚洲三级国产| 日韩视频中文| 久久精品在线观看| 一区二区三区久久| 91精品国产手机| 国产欧美日韩91| 国产性一级片| 日韩av在线中文字幕| 精品乱人伦一区二区三区| 91精品日本| 亚洲中文字幕一区| 一区二区在线高清视频| 欧美日韩日本视频| 在线视频色在线| 欧美日韩第一区日日骚| www.中文字幕在线观看| 欧美日韩高清| 日韩欧美一级视频| 一区二区三区免费看视频| 日韩在线视频二区| 国产999精品在线观看| www.狠狠干| 欧美不卡视频一区| 中文国产字幕在线观看| 国产伦精品免费视频| 欧美日韩在线播放一区| 精品人妻一区二区三区视频| 亚洲欧美日本另类| 影音先锋中文字幕在线观看| 中文av字幕一区| 日韩视频一区二区在线观看| 亚洲三级中文字幕| 久久精品黄色片| 亚洲第一香蕉网| 亚洲国产无线乱码在线观看| 国产123在线| 最近中文字幕第一页| 天堂精品高清1区2区3区| 国产黄色在线看| 快she精品国产999| 国产v日产∨综合v精品视频| 中文天堂在线一区| 日韩免费视频一区二区| 中文字幕欧美日韩va免费视频| 亚洲最大黄色| 99精品一级欧美片免费播放| 日韩在线 中文字幕| 999精品在线| 欧美一级搡bbbb搡bbbb| 亚洲一卡二卡在线观看| 天天综合天天| 亚洲欧美久久234| 亚洲三级网站| 国产在线黄色片| 欧美婷婷久久| 亚洲成在线观看| 亚欧成人精品| www高清在线视频日韩欧美| 亚洲免费在线观看av| 精品婷婷伊人一区三区三| 精品在线网站观看| 久久久精品午夜少妇| 欧美日韩三级在线观看| 欧美日韩免费高清| 国产在线高清精品| 国产视频1区2区| 国产欧美日韩中文字幕| 欧美日韩综合在线| 欧美中文字幕在线| 日韩不卡一二区| 精品综合久久久久| 欧美日韩三级在线观看| 一区二区日韩av| 欧美一级欧美三级在线观看| 婷婷中文字幕一区三区| 国产在成人精品线拍偷自揄拍| 欧美日韩在线不卡一区| 搞黄在线观看| 国产福利一区二区| 中文字幕亚洲高清| 国产小视频在线| 欧美日韩高清一区二区不卡| 成人一区而且| 国内精品不卡|