1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Redis中主、從庫宕機如何恢復(fù)?

        共 5052字,需瀏覽 11分鐘

         ·

        2021-08-25 05:03

        關(guān)注「開源Linux」,選擇“設(shè)為星標(biāo)”
        回復(fù)「學(xué)習(xí)」,有我為您特別篩選的學(xué)習(xí)資料~

        1、什么是哨兵


        哨兵是對Redis的系統(tǒng)的運行情況的監(jiān)控,它是一個獨立進程,功能有二個:


        • 監(jiān)控主數(shù)據(jù)庫和從數(shù)據(jù)庫是否運行正常;


        • 主數(shù)據(jù)出現(xiàn)故障后自動將從數(shù)據(jù)庫轉(zhuǎn)化為主數(shù)據(jù)庫;


        2、原理


        單個哨兵的架構(gòu):



        多個哨兵的架構(gòu):



        多個哨兵,不僅同時監(jiān)控主從數(shù)據(jù)庫,而且哨兵之間互為監(jiān)控。


        多個哨兵,防止哨兵單點故障。


        3、環(huán)境


        當(dāng)前處于一主多從的環(huán)境中:



        4、設(shè)置哨兵


        啟動哨兵進程首先需要創(chuàng)建哨兵配置文件:

        vim sentinel.conf


        輸入內(nèi)容:

        sentinel monitor taotaoMaster 127.0.0.1 6379 1


        說明:


        • taotaoMaster:監(jiān)控主數(shù)據(jù)的名稱,自定義即可,可以使用大小寫字母和“.-_”符號


        • 127.0.0.1:監(jiān)控的主數(shù)據(jù)庫的IP


        • 6379:監(jiān)控的主數(shù)據(jù)庫的端口


        • 1:最低通過票數(shù)


        啟動哨兵進程:

        redis-sentinel ./sentinel.conf



        由上圖可以看到:


        • 哨兵已經(jīng)啟動,它的id為9059917216012421e8e89a4aa02f15b75346d2b7


        • 為master數(shù)據(jù)庫添加了一個監(jiān)控


        • 發(fā)現(xiàn)了2個slave(由此可以看出,哨兵無需配置slave,只需要指定master,哨兵會自動發(fā)現(xiàn)slave)


        5、從宕機及恢復(fù)



        kill掉2826進程后,30秒后哨兵的控制臺輸出:

        2989:X 05 Jun 20:09:33.509 # +sdown slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6379


        說明已經(jīng)監(jiān)控到slave宕機了,那么,如果我們將3380端口的redis實例啟動后,會自動加入到主從復(fù)制嗎?

        2989:X 05 Jun 20:13:22.716 * +reboot slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6379
        2989:X 05 Jun 20:13:22.788 # -sdown slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6379


        可以看出,slave從新加入到了主從復(fù)制中。-sdown:說明是恢復(fù)服務(wù)。



        6、主宕機及恢復(fù)


        哨兵控制臺打印出如下信息:

        2989:X 05 Jun 20:16:50.300 # +sdown master taotaoMaster 127.0.0.1 6379 說明master服務(wù)已經(jīng)宕機
        2989:X 05 Jun 20:16:50.300 # +odown master taotaoMaster 127.0.0.1 6379 #quorum 1/1
        2989:X 05 Jun 20:16:50.300 # +new-epoch 1
        2989:X 05 Jun 20:16:50.300 # +try-failover master taotaoMaster 127.0.0.1 6379 開始恢復(fù)故障
        2989:X 05 Jun 20:16:50.304 # +vote-for-leader 9059917216012421e8e89a4aa02f15b75346d2b7 1 投票選舉哨兵leader,現(xiàn)在就一個哨兵所以leader就自己
        2989:X 05 Jun 20:16:50.304 # +elected-leader master taotaoMaster 127.0.0.1 6379 選中l(wèi)eader
        2989:X 05 Jun 20:16:50.304 # +failover-state-select-slave master taotaoMaster 127.0.0.1 6379 選中其中的一個slave當(dāng)做master
        2989:X 05 Jun 20:16:50.357 # +selected-slave slave 127.0.0.1:6381 127.0.0.1 6381 @ taotaoMaster 127.0.0.1 6379 選中6381
        2989:X 05 Jun 20:16:50.357 * +failover-state-send-slaveof-noone slave 127.0.0.1:6381 127.0.0.1 6381 @ taotaoMaster 127.0.0.1 6379 發(fā)送slaveof no one命令
        2989:X 05 Jun 20:16:50.420 * +failover-state-wait-promotion slave 127.0.0.1:6381 127.0.0.1 6381 @ taotaoMaster 127.0.0.1 6379 等待升級master
        2989:X 05 Jun 20:16:50.515 # +promoted-slave slave 127.0.0.1:6381 127.0.0.1 6381 @ taotaoMaster 127.0.0.1 6379 升級6381為master
        2989:X 05 Jun 20:16:50.515 # +failover-state-reconf-slaves master taotaoMaster 127.0.0.1 6379
        2989:X 05 Jun 20:16:50.566 * +slave-reconf-sent slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6379
        2989:X 05 Jun 20:16:51.333 * +slave-reconf-inprog slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6379
        2989:X 05 Jun 20:16:52.382 * +slave-reconf-done slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6379
        2989:X 05 Jun 20:16:52.438 # +failover-end master taotaoMaster 127.0.0.1 6379 故障恢復(fù)完成
        2989:X 05 Jun 20:16:52.438 # +switch-master taotaoMaster 127.0.0.1 6379 127.0.0.1 6381 主數(shù)據(jù)庫從6379轉(zhuǎn)變?yōu)?381
        2989:X 05 Jun 20:16:52.438 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ taotaoMaster 127.0.0.1 6381 添加6380為6381的從庫
        2989:X 05 Jun 20:16:52.438 * +slave slave 127.0.0.1:6379 127.0.0.1 6379 @ taotaoMaster 127.0.0.1 6381 添加6379為6381的從庫
        2989:X 05 Jun 20:17:22.463 # +sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ taotaoMaster 127.0.0.1 6381 發(fā)現(xiàn)6379已經(jīng)宕機,等待6379的恢復(fù)



        可以看出,目前,6381位master,擁有一個slave為6380.


        接下來,我們恢復(fù)6379查看狀態(tài):

        2989:X 05 Jun 20:35:32.172 # -sdown slave 127.0.0.1:6379 127.0.0.1 6379 @ taotaoMaster 127.0.0.1 6381  6379已經(jīng)恢復(fù)服務(wù)2989:X 05 Jun 20:35:42.137 * +convert-to-slave slave 127.0.0.1:6379 127.0.0.1 6379 @ taotaoMaster 127.0.0.1 63816379設(shè)置為6381的slave


        7、配置多個哨兵


        vim sentinel.conf


        輸入內(nèi)容:

        sentinel monitor taotaoMaster1 127.0.0.1 6381 1
        sentinel monitor taotaoMaster2 127.0.0.1 6381 2


        文章轉(zhuǎn)載:  程序員老鬼
        (版權(quán)歸原作者所有,侵刪)


        往期推薦

        知乎熱問:國家何時整治程序員的高薪現(xiàn)象?

        文件存儲、對象存儲、塊存儲分不清楚?看完就懂了

        手把手教你如何給 Docker 開啟 IPv6 網(wǎng)絡(luò)支持

        黑客 Shell 神技:掩蓋 Linux 服務(wù)器上的操作痕跡

        徹底搞懂 Nginx 的五大應(yīng)用場景

        BPF、eBPF、XDP 和 Bpfilter……這些東西是什么?

        一網(wǎng)打盡大廠MongoDB面試題

        Linux 能替代 Windows 嗎?

        存儲系統(tǒng)基礎(chǔ)知識介紹

        深入研究Docker聯(lián)合文件系統(tǒng)

        Linux交換分區(qū)要點匯總

        Nginx+Redis:高性能緩存利器

        分布式鎖用 Redis 好,還是 ZooKeeper 好?

        教你在 Kubernetes 上部署 Redis 高可用集群

        為什么Redis要比Memcached更火?

        Redis集群環(huán)境搭建實踐

        關(guān)注「開源Linux」加星標(biāo),提升IT技能


        有收獲,點個在看 
        瀏覽 32
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            欧美日本黄色片 | 免费国产羞羞网站视频 | 用力操逼 | 免费看黄在线网站 | 国产无遮挡又黄又爽又色 | 国产女同2互磨高潮在线观看 | 探花在线视频 | 色婷婷激情电影 | 免费看涩涩视频软件 | 大胆爆操日本美女 |