最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis集群刪除后重建后報錯:unrecoverable erro:corrupted cluster config file問題及解決

 更新時間:2026年06月02日 09:21:05   作者:莫叫石榴姐  
這篇文章主要介紹了Redis集群刪除后重建后報錯:unrecoverable erro:corrupted cluster config file問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

現(xiàn)象

redis某節(jié)點(diǎn)出現(xiàn)宕機(jī),刪除后重新部署出現(xiàn)如下問題:

unrecoverable erro:corrupted cluster config file

原因分析

/var/lib/redis/nodes.conf,頻繁重啟虛機(jī)的過程中文件破壞,信息不完整或數(shù)據(jù)不一致造成。

解決方案

步驟1:數(shù)據(jù)平臺中停止Redis服務(wù)

步驟2:刪除Redis。

步驟3:刪除每個節(jié)點(diǎn)上的dump.rdb文件和nodes.conf文件

刪除方法:

利用xcall.sh腳本刪掉 /var/lib/redis/下的 nodes.conf及dump.rdb文件。(xcall.sh已編寫放在了系統(tǒng)/usr/local/bin下)

xcall.sh 'rm -rf /var/lib/redis/nodes.conf'
xcall.sh 'rm -rf /var/lib/redis/dump.rdb'

xcall.sh 腳本如下:

#!/bin/bash

# for循環(huán)
for((i=1; i<=7; i++)) ; do
    # 更改文本顏色
    tput setaf 2
    # 輸出以下文本
    echo ==================== bg-$i $@ ===================
    # 更改文本顏色
    tput setaf 9
    # ssh 遠(yuǎn)程登陸主機(jī) bg-$i ,執(zhí)行輸入的參數(shù)的命令
    ssh bg-$i $@
done

步驟4:平臺管理組件庫和版本中找到Redis添加redis服務(wù)。(或重新部署redis服務(wù))

步驟5:重啟Redis,查看Redis節(jié)點(diǎn)中是否有掛掉的節(jié)點(diǎn)。如果啟動過程中有某個節(jié)點(diǎn)啟動失敗,執(zhí)行步驟8.

如下圖所示:

步驟6:通過命令創(chuàng)建Redis集群

/usr/idp/current/redis-server/bin/redis-trib.rb create --replicas 1 10.1.3.13:6379 10.1.3.14:6379 10.1.3.15:6379 10.1.3.16:6379 10.1.3.17:6379 10.1.3.18:6379。

執(zhí)行結(jié)果樣例如下:

步驟7:驗(yàn)證集群是否安裝成功

cd /usr/idp/current/redis-server/bin
./redis-cli -c -h bigdata-1 -p 6379

輸入:cluster nodes

bigdata-1:6379> cluster nodes

執(zhí)行結(jié)果樣例如下:

都是connected說明集群中redis機(jī)器連接沒有問題。

測試命令:

bigdata-1:6379> set hello world

ssh bigdata-2
cd /usr/idp/current/redis-server/bin
./redis-cli -c -h bigdata-2 -p 6379
bigdata-2:6379> get hello

樣例結(jié)果如下:

如果命令出現(xiàn)ERROR情況則,使用redis-trib命令來檢查集群

redis-trib.rb check ip:port

如:

./redis-trib.rb check 10.92.11.11:6379

  • 如果報錯:[ERR] Not all 16384 slots are covered by nodes.請執(zhí)行:步驟9
  • 如果報錯:[ERR] Nodes don't agree about configuration!請執(zhí)行:步驟10

步驟8:

redis節(jié)點(diǎn)啟動失敗

現(xiàn)象:

metrics_pid = int(sudo.read_file(redis_metrics_pid_file))
ValueError: invalid literal for int() with base 10: '8654\n11593\n19745\n8626\n15793\n24954\n30154\n'

解決:

比如bigdata-6節(jié)點(diǎn)損壞了,登錄到bigdata-6節(jié)點(diǎn)上:

cd /var/run/redis
[root@ bigdata-6 redis]# cat redis_metrics.pid

只保留第一行的pid

kill -9 11593 19745 8626 15793 24954 30154
vi redis_metrics.pid

刪除多余的pid信息。如:11593 19745 8626 15793 24954 30154

保存退出。

步驟9:

原因:這個往往是由于主node移除了,但是并沒有移除node上面的slot,從而導(dǎo)致了slot總數(shù)沒有達(dá)到16384,其實(shí)也就是slots分布不正確。所以在刪除節(jié)點(diǎn)的時候一定要注意刪除的是否是Master主節(jié)點(diǎn)。

解決方案樣例如下:

1)、官方是推薦使用redis-trib.rb fix 來修復(fù)集群…. ….  通過cluster nodes看到7001這個節(jié)點(diǎn)被 干掉了… 那么

[root@node01 src]#  ./redis-trib.rb fix 172.168.63.201:7001

修復(fù)完成后再用check命令檢查下是否正確

[root@node01 src]# ./redis-trib.rb check 172.168.63.202:7000

只要輸入任意集群中節(jié)點(diǎn)即可,會自動檢查所有相關(guān)節(jié)點(diǎn)??梢圆榭聪鄳?yīng)的輸出看下是否是每個Master都有了slots,如果分布不均勻那可以使用下面的方式重新分配slot:

[root@node01 src]#  ./redis-trib.rb reshard 172.168.63.201:7001

步驟10:

其他節(jié)點(diǎn)之前執(zhí)行過cluster reset,重新握手一次

bg-1:6379> cluster meet 10.92.11.12 6379
bg-1:6379> cluster meet 10.92.11.13 6379
bg-1:6379> cluster meet 10.92.11.14 6379
bg-1:6379> cluster meet 10.92.11.15 6379
bg-1:6379> cluster meet 10.92.11.16 6379

再次檢查一下?lián)p壞節(jié)點(diǎn)的信息

/usr/idp/current/redis-server/bin/ redis-trib.rb check 10.92.11.11:6379

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • redis實(shí)現(xiàn)分布式session的解決方案

    redis實(shí)現(xiàn)分布式session的解決方案

    session存放在服務(wù)器,關(guān)閉瀏覽器不會失效,本文主要介紹了redis實(shí)現(xiàn)分布式session的解決方案,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • redis做websocket分布式消息推送服務(wù)的實(shí)現(xiàn)

    redis做websocket分布式消息推送服務(wù)的實(shí)現(xiàn)

    本文介紹了使用Redis作為消息隊(duì)列實(shí)現(xiàn)WebSocket分布式消息推送服務(wù)的方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Redis中List類型的常用命令

    Redis中List類型的常用命令

    本文主要介紹了Redis中List類型的常用命令,包含12種常用命令,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 高并發(fā)下Redis如何保持?jǐn)?shù)據(jù)一致性(避免讀后寫)

    高并發(fā)下Redis如何保持?jǐn)?shù)據(jù)一致性(避免讀后寫)

    本文主要介紹了高并發(fā)下Redis如何保持?jǐn)?shù)據(jù)一致性(避免讀后寫),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Redis分布式限流組件設(shè)計與使用實(shí)例

    Redis分布式限流組件設(shè)計與使用實(shí)例

    本文主要講解基于 自定義注解+Aop+反射+Redis+Lua表達(dá)式 實(shí)現(xiàn)的限流設(shè)計方案。實(shí)現(xiàn)的限流設(shè)計與實(shí)際使用。具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 詳解redis big key 排查思路

    詳解redis big key 排查思路

    本文主要介紹了詳解redis big key 排查思路,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 關(guān)于Redis庫存超賣問題的分析

    關(guān)于Redis庫存超賣問題的分析

    在高并發(fā)場景下進(jìn)行優(yōu)惠券秒殺測試時,發(fā)現(xiàn)由于并發(fā)操作導(dǎo)致了超賣問題,即理論上只能賣出100個優(yōu)惠券,實(shí)際賣出了102個,分析原因,是因?yàn)樵诟卟l(fā)環(huán)境下,多個線程同時操作庫存,導(dǎo)致數(shù)據(jù)不一致,提出了兩種解決方案:悲觀鎖和樂觀鎖
    2024-11-11
  • redis清空所有數(shù)據(jù)的三種方法

    redis清空所有數(shù)據(jù)的三種方法

    本文主要介紹了redis清空所有數(shù)據(jù)的三種方法,主要包括FLUSHALL,FLUSHDB,SCREPT FLUSH這三個指令,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • redis的兩種持久化方式RDB和AOF解讀

    redis的兩種持久化方式RDB和AOF解讀

    Redis提供了RDB和AOF兩種持久化方式,RDB是快照持久化,通過配置文件中的save指令開啟和配置,可以設(shè)置觸發(fā)快照的條件,AOF是日志持久化,每次寫操作都會追加到AOF文件中,并可以通過配置文件設(shè)置持久化頻率和重寫策略,RDB和AOF可以結(jié)合使用,以提高數(shù)據(jù)的安全性和恢復(fù)效率
    2025-03-03
  • Redis中RPOP、BRPOP、LPOP和BLPOP使用示例代碼

    Redis中RPOP、BRPOP、LPOP和BLPOP使用示例代碼

    這篇文章主要介紹了Redis中RPOP、BRPOP、LPOP和BLPOP使用的相關(guān)資料,解釋了列表的方向,并詳細(xì)說明了每個命令的功能、返回值、使用場景,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-05-05

最新評論

福建省| 宝坻区| 东乡| 长岛县| 合阳县| 大方县| 潜江市| 龙口市| 连南| 张家口市| 达日县| 田林县| 如皋市| 米脂县| 贵阳市| 旌德县| 临沧市| 江油市| 齐齐哈尔市| 哈尔滨市| 延长县| 宁海县| 宜兰市| 大关县| 北碚区| 新巴尔虎左旗| 珲春市| 仁化县| 呼图壁县| 福贡县| 永年县| 德清县| 滕州市| 凤山县| 甘泉县| 安新县| 新田县| 贡嘎县| 扎赉特旗| 绥江县| 施秉县|