【微服務】docker部署redis,一主二從三哨兵,讀寫分離

配置redis讀寫分離

  1. 3臺虛擬機

創建目錄用于掛載

mkdir -p /root/redis/{conf,data,logs}
#master配置文件
bind 0.0.0.0   //任何ip都能訪問
port 6379  //redis端口號
logfile "/data/redis.log"  //日志文件存放位置,啟動redis之前設置為空,在啟動后進入容器內部創建并賦權限,否則會報錯
requirepass 123456  //redis密碼
appendonly yes  //開啟持久化#node1從庫配置文件
bind 0.0.0.0
port 6379
logfile "/data/redis.log"
requirepass 123456
appendonly yes
replicaof 192.168.152.201 6379
masterauth 123456#node2從庫配置文件bind 0.0.0.0
port 6379
logfile "/data/redis.log"
requirepass 123456
appendonly yes
replicaof 192.168.152.201 6379
masterauth 123456
  1. 啟動redis,主從服務器啟動命令相同
26379 為哨兵模式端口號
--privileged=true 使redis內部用戶有root權限,沒設置則為普通用戶docker run -p 6379:6379 -p 26379:26379  --privileged=true --name redis -v /root/redis/conf/redis.conf:/etc/redis/redis.conf -v /root/redis/data:/data -d --restart=always redis:6.2.4 redis-server /etc/redis/redis.conf
  1. 查看主節點以及從節點相關信息
#進入redis內部
docker exec -it redis /bin/bash
#創建日志文件
touch redis.log
chmod 777 /data/redis.log
#查看主從信息
info replication# Replication
role:master
connected_slaves:2
slave0:ip=192.168.152.134,port=6379,state=online,offset=112,lag=0
slave1:ip=192.168.152.135,port=6379,state=online,offset=112,lag=0
master_failover_state:no-failover
master_replid:1cb742f2e951c5f584a925b2524a93ba394ee31e
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:112
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:112
  1. master界面設值查看從節點是否同步

在這里插入圖片描述
配置redis的哨兵模式

  1. 配置sentinel.conf配置文件
#關閉保護模式,允許外部訪問
protected-mode no
#不限制外部訪問客戶端的IP
bind 0.0.0.0
#日志文件路徑
logfile "/data/sentinel.log"
#要監視的主機
#格式:sentinel monitor <主機組名> <主機ip> <端口> <判斷主機失效的最少哨兵數量>
#------------填寫實際<主機ip><端口>------------
sentinel monitor mymaster 192.168.152.201 6379 2
#訪問redis密碼
#------------填寫實際密碼------------
sentinel auth-pass mymaster 123456
#判斷主機失效所需的毫秒數
sentinel down-after-milliseconds mymaster 30000
#故障轉移每個階段執行超時毫秒數
sentinel failover-timeout mymaster 180000
#故障轉移時同時對新主機執行同步的從機數量
sentinel parallel-syncs mymaster 1
  1. docker啟動sentinel容器
docker run -d --privileged=true --name sentinel -v /root/redis/sentinel/sentinel.conf/:/usr/local/etc/redis/sentinel.conf -p 26379:26379 redis:6.2.4 redis-sentinel /usr/local/etc/redis/sentinel.conf
  1. 查看配置是否成功
docker exec -it sentinel /bin/bash
redis-cli -p 26379 -a 123456
info sentinel# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.152.201:6379,slaves=2,sentinels=4

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

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

相關文章

prometheus docker部署

1.安裝Docker sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors":["https://hub-mirror.c.163.com"] } EOF export DOWNLOAD_URL"https://hub-mirror.163.com/docker-ce" curl -fsSL https://ge…

TypeScript 中的聲明合并

1. 聲明合并的概念 聲明合并是指當 TypeScript 遇到多個同名的聲明時&#xff0c;會將它們合并為一個單一的聲明。這使得開發者可以分散地定義同一個實體的不同部分&#xff0c;最終將它們合并為一個整體。在進行聲明合并時&#xff0c;TypeScript 會根據不同類型的聲明進行不…

【LIN】STM32新能源汽車LIN通信實現過程

【LIN】STM32新能源汽車LIN通信實現過程 文章目錄 前言一、軟件二、接線圖三、硬件原理圖四、上位機五、PICO示波器串行解碼1.軟件中的LIN波特率設置-192002.PIC設置3.PIC串行解碼 六.引用總結 前言 【電機控制】直流有刷電機、無刷電機匯總——持續更新 使用工具&#xff1a;…

godot.bk

1.搜索godot國內鏡像&#xff0c;直接安裝&#xff0c;mono是csharp版本 2.直接解壓&#xff0c;50m&#xff0c;無需安裝&#xff0c;直接運行 3.godot里分為場景&#xff0c;節點 主場景用control場景&#xff0c;下面掛textureact放背景圖片&#xff0c;右鍵實例化子場景把…

961題庫 北航計算機 計算機網絡 附答案 簡答題形式

有題目和答案&#xff0c;沒有解析&#xff0c;不懂的題問大模型即可&#xff0c;無償分享。 第1組 習題 某網絡拓撲如題下圖所示&#xff0c;其中 R 為路由器&#xff0c;主機 H1&#xff5e;H4 的 IP 地址配置以及 R 的各接口 IP 地址配置如圖中所示。現有若干以太網交換機…

Python高效遍歷文件和目錄的方法

在 Python 中&#xff0c;遍歷文件和目錄可以使用 os、pathlib 等模塊。以下是一些高效遍歷文件和目錄的方法&#xff1a; 使用 os.walk() os.walk() 是一個高效的遞歸遍歷指定目錄及其子目錄的方法&#xff0c;它返回一個生成器&#xff0c;生成一個三元組 (root, dirs, fil…

Instruction-Tuningpromote tuning原理,對比區別

Instruction-Tuning 原理 Instruction-Tuning&#xff08;指令調優&#xff09;是一種通過對模型提供明確指令或任務描述&#xff0c;從而提升其在特定任務上的表現的技術。這種方法通過預先定義好的任務說明&#xff08;instructions&#xff09;對模型進行微調&#xff0c;使…

鴻蒙應用開發之OpenGL應用和X組件9

接著下來,我們來分析函數CreateProgram的實現,它是實現著色器程序的編譯、加載和刪除資源。 GLuint EGLCore::CreateProgram(const char *vertexShader, const char *fragShader) { if ((nullptr == vertexShader) || (nullptr == fragShader)) { OH_LOG_Print(L…

MySQL—函數—函數小結

一、引言 前面博客我們已經學完了MySQL的函數&#xff0c;下面快速的對MySQL的函數做一個小結。 在講解了MySQL的函數的時候&#xff0c;主要有四個方面&#xff1a; 1、字符串函數 &#xff08;1&#xff09;CONCAT&#xff1a;字符串連接 &#xff08;2&#xff09;LOWER、…

Java 多線程創建:三種主要方法

多線程編程是Java中一個重要的技術點&#xff0c;它允許程序并行執行多個任務&#xff0c;從而提高程序的執行效率。本文將詳細介紹在Java中創建多線程的三種主要方法&#xff1a;繼承Thread類、實現Runnable接口以及使用Callable和Future接口。 1. 繼承 Thread 類 繼承Threa…

【前端每日基礎】day34——HTTP和HTTPS

HTTP&#xff08;Hypertext Transfer Protocol&#xff09;和HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff09;是互聯網通信協議&#xff0c;用于在Web瀏覽器和Web服務器之間傳輸數據。以下是對HTTP和HTTPS的詳細介紹&#xff1a; HTTP&#xff08;Hypertext…

Ubuntu server 24 (Linux) IPtables 雙網卡 共享上網NAT 安裝配置DHCP

一 開啟路由轉發功能 sudo vim /etc/sysctl.conf net.ipv4.ip_forward1 sudo sysctl -p 二 安裝DHCP #更新軟件包列表&#xff1a; sudo apt update #安裝DHCP服務器 sudo apt install isc-dhcp-server #修改監聽網卡,根據實際修改 sudo vi /etc/default/isc-dhcp-server …

配置 HTTP 代理 (HTTP proxy)

配置 HTTP 代理 [HTTP proxy] 1. Proxies2. curl2.1. Environment2.2. Proxy protocol prefixes 3. Use an HTTP proxy (使用 HTTP 代理)3.1. Using the examples (使用示例)3.1.1. Linux or macOS3.1.2. Windows Command Prompt 3.2. Authenticating to a proxy (向代理進行身…

Tailwindcss Layout布局相關樣式及實戰案例,5萬字長文,附完整源碼和效果截圖

aspect 相關樣式類 基礎樣式 ClassPropertiesaspect-autoaspect-ratio: auto;aspect-squareaspect-ratio: 1 / 1;aspect-videoaspect-ratio: 16 / 9; 案例&#xff1a;引入B站視頻 Use the aspect-* utilities to set the desired aspect ratio of an element. 使用’ asp…

兩款 IntelliJ IDEA 的 AI 編程插件

介紹兩款 IntelliJ IDEA 的 AI 編程插件&#xff1a;通義靈碼和 CodeGeeX。 通義靈碼 這是由阿里推出的一個基于通義大模型的 AI 編碼助手。 它提供了代碼智能生成、研發智能問答等功能。通義靈碼經過海量優秀開源代碼數據訓練&#xff0c;可以根據當前代碼文件及跨文件的上下…

kafka-偏移量圖解

生產者偏移量&#xff1a;生產者發送消息時寫入到哪個位置&#xff08;主題的每個分區會存儲一個 leo 即將寫入消息的偏移量&#xff09;&#xff0c;每次寫完消息 leo 會 1 消費者偏移量&#xff1a;消費者從哪個位置開始消費消息&#xff0c;小于等于 leo&#xff0c;每個組…

數據賦能(107)——體系:數據采集——概述、關注焦點

概述 數據采集是指利用特定設備或技術&#xff0c;從原始數據源中捕獲和記錄數據的過程。 數據采集的主要目的是為了獲取特定目標或現象的相關信息&#xff0c;以支持后續的數據分析、決策制定、業務優化等過程。 數據采集的重要性在于為企業和組織提供了關鍵的信息基礎&…

【Qt】對話框

文章目錄 1 :peach:對話框介紹:peach:2 :peach:對話框的分類:peach:2.1 :apple:模態對話框:apple:2.2 :apple:非模態對話框:apple:2.3 :apple:混合屬性對話框:apple: 3 :peach:Qt 內置對話框:peach:3.1 :apple:消息對話框 QMessageBox:apple: 1 &#x1f351;對話框介紹&#x…

如何配置Oracle的ACL權限

配置Oracle的ACL&#xff08;訪問控制列表&#xff09;權限是一個涉及多個步驟的過程。以下是一個清晰的步驟指南&#xff0c;用于配置Oracle的ACL權限&#xff1a; 1. 創建ACL 使用DBMS_NETWORK_ACL_ADMIN.CREATE_ACL過程來創建一個新的ACL。 sql BEGIN DBMS_NETWORK_ACL_…

pod 控制器介紹

一 pod 控制器相關理論介紹 1&#xff0c;Pod控制器 是什么 Pod控制器&#xff0c;又稱之為工作負載&#xff08;workload&#xff09;&#xff0c;是用于實現管理pod的中間層&#xff0c;確保pod資源符合預期的狀態&#xff0c;pod的資源出現故障時&#xff0c;會嘗試進行…