日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Redis的高级特性哨兵

發布時間:2025/7/14 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis的高级特性哨兵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、哨兵介紹

Redis Sentinel,即Redis哨兵,在Redis 2.8版本開始引入。哨兵的核心功能是主節點的自動故障轉移。下面是Redis官方文檔對于哨兵功能的描述:

  • 監控(Monitoring):哨兵會不斷地檢查主節點和從節點是否運作正常。
  • 自動故障轉移(Automatic failover):當主節點不能正常工作時,哨兵會開始自動故障轉移操作,它會將失效主節點的其中一個從節點升級為新的主節點,并讓其他從節點改為復制新的主節點。
  • 配置提供者(Configuration provider):客戶端在初始化時,通過連接哨兵來獲得當前Redis服務的主節點地址。
  • 通知(Notification):哨兵可以將故障轉移的結果發送給客戶端。
  • 簡單來說,主從模式下為了使主從具備高可用性,就需要用哨兵進行監控,在主節點下線后,會通過投票選出新的主節點,在主節點上線后,也只能作為新節點的從節點。哨兵環境也需要高可用,所以一般是三個以上的集群。

    架構圖如下:

    ?

    <mxfile userAgent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36" version="8.5.3" editor="www.draw.io" type="device"><diagram>7Vldc+IgFP01PLYTQr58VJt2X3amM33Y9jGbYGSKwSVYdX/9goGYEJx1OqbrtOuDwoHchHMu994gQPPV7oFn6+V3VmAKfK/YAXQHfB8GMJI/Ctk3SOInDVByUuhJR+CJ/MYa9DS6IQWuexMFY1SQdR/MWVXhXPSwjHO27U9bMNq/6zor8QB4yjM6RH+QQizNKuIj/g2TcmnuDKNJM/Izy19LzjaVvh/w0eLwaYZXmbGlF1ovs4JtOxBKAZpzxkTTWu3mmCpuDW3NdfcnRtvn5rgS51zgNxe8ZXSjlw7SAMxmIElBmoBkChKJxOp7ppdYi72hSdqSisjObLskAj+ts1yNbKVTSGwpVlT2oGxm9bqRaUF2WN56tiCUzhll/GAIxek0Sj2Fs0pod4CB7A/Xo5f4hrnAuw6k1/eA2QoLvpdTzKjhWvti4On+tqOshpYdUQ2WaV8qW8tHPmVDU+qmF7npTRTDn4Telqe91f8AeoPP771B8O+8NxzS60dU6IX2yIx+bZgZuKkPFEzlBBitd8dB2Sr178EKMUAt+SEVpjeSi3nb8W/Vp+1W5jL52MQ2JbHmmQxsaX0IyUq7O+/veteCs9c28KOh4Gl0fz+fjxOeYDAUOIAOheMLKBw5FLZ3SVVMVUaVvZxmdU3yPlm2z+MdEc+aZ9V+0fMkQ3z/3O286FknSazZhue4F0lFxksserkLF71cPiS6Q2To4NFgHNNMkLd+BeAiV9/hkZHDJjBx0N6ogaVPsxp9VTcl24YmfUNoYhlqOBgYOmjdLvss+ePx5Ien5PcuJX9wVfLb2zi0VTtXfhhbhmw/upz8iSN9hmAagORONRJZpkQDh5BhTbjCpQmPFauwFTE1lFFSVsqPpNBY4jMVJIksuqd6YEWKgp7Kx/0IPkYhg6x9Fw8DscuB0AXi8OS/Eh0lkFVSoiT8MCVMpr1oTGxj3214dvS73kwHI6vih+hCoc4bLdRBeIWyXlcGC+wXOei/T1Zk+Uc0oqyO84sxZW2L29tAxmSrwpHtR8yJfHwVU8+vbcKhZ6Cr8gxkHrH1jPfWNpaLhdF4nuE6eonBZAYmEKSROiGYxl8npULP2tyO4iYaK6W6jmm+rhS+nT4dL/yjSeE40vnCUgTWS1sbMC8vheweT/WbeHb86wSlfwA=</diagram></mxfile> 1545458228541.drawio.html 24.62KB

    ?

    二、哨兵集群搭建

    2.1搭建Redis主從集群

    方法請看上一篇博客,redis主從集群搭建。
    不同的是我在三個配置文件加了訪問密碼,requirepass "XXX",所以需要在這里也加上master的密碼
    masterauth "XXX",否則主服務器會拒絕從服務器的復制請求。

    2.2修改哨兵配置文件

    默認的配置文件是sentinel.conf在主目錄下,首先復制兩份出來
    cp sentinel.conf sentinel-27000.conf
    cp sentinel.conf sentinel-27001.conf

    然后要修改的內容如下(相同的省略):

    sentinel.confsentinel-27000.confsentinel-27001.conf
    port 26379port 27000port 27001
    pidfile "/var/run/redis-sentinel.pid"pidfile "/var/run/redis-sentinel2.pid"pidfile "/var/run/redis-sentinel3.pid"
    sentinel monitor mymaster 127.0.0.1 6379 2sentinel monitor mymaster 127.0.0.1 6379 2sentinel monitor mymaster 127.0.0.1 6379 2
    sentinel down-after-milliseconds mymaster 3000
    sentinel failover-timeout mymaster 10000
    sentinel auth-pass mymaster XXX
    sentinel myid xxxsentinel myid xxxsentinel myid xxx

    注意:

  • 如果主服務器使用了密碼認證,則sentinel auth-pass mymaster XXX是必須的,并且密碼與上面的要一致。
  • sentinel monitor mymaster 的配置必須要在 其他用到<master-name>的前面,因為讀取配置文件時按順序讀取的會報這個名稱未定義(坑了我好久)
  • 修改 sentinel myid 從而保證三個id都不同。
  • 需要在防火墻開啟26379、 27000、 27001三個端口。
  • 2.3啟動

  • 啟動redis主從集群,注意順序是先master再slave
  • src/redis-server redis-6379.conf src/redis-server redis-6380.conf src/redis-server redis-6381.conf
  • 啟動哨兵有兩種方式。
    src/redis-sentinel sentinel.conf
    src/redis-server sentinel.conf --sentinel
  • src/redis-sentinel sentinel.conf src/redis-sentinel sentinel-27000.conf src/redis-sentinel sentinel-27001.conf
  • 如圖,哨兵成功監視了master并發現了下面的兩個從服務器
  • 2.4測試故障自動轉移

  • 查看哨兵集群情況,輸入命令src/redis-cli -p 27000info Sentinel

    可以看到master是端口6379的,有兩個slaves,三個哨兵。
  • 這時我們kill掉6379的Redis進程后,再查看集群情況。哨兵日志如下:

    6379掛了后進行了一輪的選舉投票,最后6380端口的成為了新的master,來看看現在的集群情況是不是這樣的。
  • 這時如果重新啟動6379,它還會不會恢復老大的身份呢?
  • 5020:X 26 Dec 2018 13:46:38.998 # -sdown slave 8.9.8.165:6379 8.9.8.165 6379 @ mymaster 8.9.8.165 6380 5020:X 26 Dec 2018 13:46:48.947 * +convert-to-slave slave 8.9.8.165:6379 8.9.8.165 6379 @ mymaster 8.9.8.165 6380

    日志顯示6379重新加入了集群,只不過變成了從服務器。

    轉載于:https://www.cnblogs.com/2YSP/p/10161219.html

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的Redis的高级特性哨兵的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。