Docker搭建Redis哨兵集群

? ? ? ? ? ? ? ? Redis提供了哨兵機制實現主從集群下的故障轉移,其中包含了對主從服務的檢測、自動故障恢復和通知。

1.環境

centos7、redis6.2.4、MobaXterm

目的:

搭建redis的主從同步+哨兵集群(一主一從三哨兵)

2.步驟

1.主從集群的搭建

主從集群搭建https://blog.csdn.net/m0_74808313/article/details/149283482?spm=1011.2124.3001.6209

2.創建掛載目錄和添加配置文件

使用命令創建掛載目錄:

mkdir -p redis-demo/sentinel7001/conf

mkdir -p redis-demo/sentinel7001/data

mkdir -p redis-demo/sentinel7002/conf

mkdir -p redis-demo/sentinel7002/data

mkdir -p redis-demo/sentinel7002/conf

mkdir -p redis-demo/sentinel7002/data

添加配置文件sentinel.conf:

vim /home/hl/redis-demo/sentinel7001/conf/sentinel.conf

將以下內容復制到文件中:

port 27001
# 統一虛擬機ip
sentinel announce-ip 192.168.206.180
# 指定主節點以及哨兵的quonum
sentinel monitor mymaster 192.168.206.180 7001 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 60000

剩余兩個哨兵同樣的操作,記得改端口號。

3.創建并啟動sentinel容器

docker run -d \--name sentinel1 \--net redis-net \-p 27001:27001 \--privileged=true \-v /home/hl/redis-demo/sentinel7001/conf:/etc/redis \-v /home/hl/redis-demo/sentinel7001/data:/data \redis:6.2.4 \redis-sentinel /etc/redis/sentinel.conf
docker run -d \--name sentinel2 \--net redis-net \-p 27002:27002 \--privileged=true \-v /home/hl/redis-demo/sentinel7002/conf:/etc/redis \-v /home/hl/redis-demo/sentinel7002/data:/data \redis:6.2.4 \redis-sentinel /etc/redis/sentinel.conf
docker run -d \--name sentinel3 \--net redis-net \-p 27003:27003 \--privileged=true \-v /home/hl/redis-demo/sentinel7003/conf:/etc/redis \-v /home/hl/redis-demo/sentinel7003/data:/data \redis:6.2.4 \redis-sentinel /etc/redis/sentinel.conf

使用docker ps命令查看是否啟動成功:

出現信息則表示啟動成功

使用docker exec -it sentinel1 redis-cli -p 27001 sentinel master mymaster命令查看sentinel信息:

出現以上信息則表示連接成功。

執行docker logs sentinel1命令查看打印的日志信息:

我們可以看到哨兵檢測的主從集群:

3.自動故障轉移測試

我們來模擬哨兵的自動故障轉移,關閉master容器來模擬宕機,來查看slave會不會成為新的master,恢復舊的master,來查看是否成為了slave。

docker stop redis-7001

等待幾秒后再查看sentinel日志:

我們可以看到有超過quonum的哨兵都認為master主觀下線了,master節點由原來的7001轉移到了7002,也就是slave節點成為了新的master

重新啟動docker容器,可以看到恢復連接后master仍是7002

docker start redis-7001

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88973.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88973.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88973.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

暑假Python基礎整理 --異常處理及程序調試

異常概念 在程序運行過程中,經常會遇到各種各樣的錯誤,這些錯誤統稱為“異常”。如下表是Python常見的異常與描述: 異常描述NameError嘗試訪問一個未聲明的變量引發錯誤IndexError索引超出序列范圍引發錯誤IndentationError縮進錯誤ValueErr…

k8s-高級調度(二)

目錄 Taint(污點)與Toleration(容忍) Taint(污點):節點的排斥標記 Toleration(容忍):Pod的適配聲明 與節點親和性的對比 警戒(cordon)和轉移(drain) Cordon:節點隔離(阻止新 Po…

基于OpenCV的深度學習人臉識別系統開發全攻略(DNN+FaceNet核心技術選型)

核心技術選型表 技術組件版本/型號用途OpenCV DNN4.5.5人臉檢測FaceNet (facenet-pytorch)0.5.0人臉特征提取MiniConda最新版Python環境管理PyTorch1.8.0FaceNet運行基礎OpenVINO2021.4模型加速(可選)SSD Caffe模型res10_300x300高精度人臉檢測 一、環境準備與項目搭建 1.1 M…

【AI News | 20250714】每日AI進展

AI Repos 1、All-Model-Chat All Model Chat 是一款為Google Gemini API家族設計的網頁聊天應用,支持多模態輸入(圖片、音頻、PDF等)和多種模型(如Gemini Flash、Imagen)。它提供了豐富的自定義功能,包括高…

C 語言(二)

主要包括變量與常量、數據類型、存儲方式、數制轉換以及字符處理等內容一、變量與常量在 C 語言中,變量是用來存儲數據的命名空間,它會在內存中分配地址。例如:int i; i 12345; 其中 i 是變量,12345 是常量。常量表示在程序運行過…

原型繼承(prototypal inheritance)的工作原理

這是一個非常常見的 JavaScript 問題。所有 JS 對象都有一個__proto__屬性,指向它的原型對象。當試圖訪問一個對象的屬性時,如果沒有在該對象上找到,它還會搜尋該對象的原型,以及該對象的原型的原型,依次層層向上搜索&…

OpenCV 視頻處理與攝像頭操作詳解

1. 引言大家都來寫OpenCV😊,學的好開心!2. 視頻基礎與OpenCV簡介2.1 視頻的定義視頻(Video)是由一系列靜態圖像(幀)以一定速率連續播放形成的動態影像。其本質是利用人眼的視覺暫留效應&#xf…

Agentic AI 的威脅與緩解措施

原文:https://www.aigl.blog/content/files/2025/04/Agentic-AI—Threats-and-Mitigations.pdf AI Agent 的定義 1. 定義與基礎 智能代理(Agent)的定義: 智能代理是一種能夠感知環境、進行推理、做出決策并自主采取行動以實現特定…

ArrayList列表解析

ArrayList集合 ArrayList 的底層是數組隊列,相當于動態數組。與 Java 中的數組相比,它的容量能動態增長。在添加大量元素前,應用程序可以使用ensureCapacity操作來增加 ArrayList 實例的容量。這可以減少遞增式再分配的數量。 ArrayList 繼承…

《戀與深空》中龍和蛇分別是誰的代表

在《戀與深空》宏大而神秘的世界觀中,每一個符號都蘊含著深意。當玩家們熱議“龍”和“蛇”這兩種強大而古老的生物究竟代表著誰時,所有的線索都默契地指向了同一個名字——秦徹。 他不僅是力量與權威的象征“惡龍”,也是背負著宿命與糾葛的“…

gitignore添加后如何生效?

清除 Git 緩存: git rm -r --cached .添加文件到 Git:git add .使用 git commit 命令提交這些更改git commit -m "Update .gitignore"

多尺度頻率輔助類 Mamba 線性注意力模塊(MFM),融合頻域和空域特征,提升多尺度、復雜場景下的目標檢測能力

在偽裝物體檢測領域,現有方法大多依賴空間局部特征,難以有效捕捉全局信息,而 Transformer 類方法雖能建模長距離依賴關系,卻存在計算成本高、網絡結構復雜的問題。同時,頻域特征雖具備全局建模能力,可頻繁的…

Dify的默認端口怎么修改

1.定位配置文件 在 Dify 的安裝目錄中找到 .env 文件(通常位于 docker/ 子目錄下)。此文件定義了 Docker 容器的環境變量,包括端口配置。 2.調整端口參數 修改以下兩個關鍵配置項: # Docker 容器內部 Nginx 監聽的端口&#xf…

Go內存分配

圖解Go語言內存分配 - 知乎 go內置運行時,采用了自主管理,實現更好的內存使用模式,不需要每次內存分配都進行系統調用 采用TCMalloc算法:把內存分為多級管理,從而降低鎖的粒度 將可用的堆內存采用二級分配的方式進行…

cursor使用mcp連接mysql數據庫,url方式

背景。 用cursor生成后端代碼。讓cursor可以創建響應的表結構以及插入數據。使用的cursor版本是1.2.1 cursor 官網 mcp 說明smithery 中mysql mcp這個mcp具有建表的本領。 在cursor中是這樣配置的。 以上這種配置方式是是通過在smithery 網站中配置好自己的mysql數據庫連接后才…

Twisted study notes[1]

文章目錄serverreferencesserver Twisted usually using subclass twisted.internet.protocol.Protocol to treat protocols .Protocol is a fundamental class in Twisted for implementing network protocols.protocol class instant don’t exists forever because of it w…

Python 數據建模與分析項目實戰預備 Day 6 - 多模型對比與交叉驗證驗證策略

? 今日目標 引入多種常見分類模型(隨機森林、支持向量機、K近鄰等)比較不同模型的訓練效果使用交叉驗證提升評估穩定性🧾 一、對比模型列表模型類名(sklearn)適用說明邏輯回歸LogisticRegression基礎線、易于解釋KNNK…

xss-labs 1-8關

level1打開檢查&#xff0c;發現test直接放入h2標簽中此時通過script繞過h2標簽構造payload127.0.0.1/xss-labs/lvel1.php?name<script>alert(111)</script>直接使用script標簽繞過h2,并執行alert,通過level2打開檢查&#xff0c;輸入的123被放在input標簽里面的v…

Conda 核心命令快速查閱表

本表旨在提供一個簡潔、高效的 Conda 命令參考&#xff0c;專注于最常用功能的快速查找。 1. 環境管理 (Environment Management)功能 (Function)命令 (Command)示例 (Example)創建新環境conda create -n <env_name> [packages...]conda create -n myenv python3.9 panda…

音視頻學習(三十九):IDR幀和I幀

主要區分&#xff1a;I 幀 是幀內編碼幀&#xff0c;IDR 幀 是一種特殊的 I 幀&#xff0c;它是“清除參考幀鏈的強制切斷點”。H.264 視頻結構 結構 H.264 視頻由多個 NAL&#xff08;Network Abstraction Layer&#xff09;單元 構成&#xff0c;每一幀圖像可由一個或多個 NA…