redis的哨兵模式和Redis cluster

目錄

一. redis的主從復制

二. 哨兵模式

2.1 定義

2.2 作用

2.3 配置實例

三. Redis cluster

3.1 定義

3.2 作用

3.3 配置實例?

1. 新建集群文件目錄

2. 準備可執行文件到每個文件夾

3. 開啟群集功能

4. 啟動redis節點

5. 查看是否啟動成功

6. 啟動集群

7. 測試集群

四.??命令行配置


一. redis的主從復制

#主服務器
vim /apps/redis/etc/redis.conf
requirepass 123456#從服務器
vim /apps/redis/etc/redis.conf
replicaof 192.168.52.105 6379
masterauth 123456
systemctl restart redis#主服務器
redis-cli -a 123456 info replication

二. 哨兵模式

2.1 定義

Redis 哨兵模式主要用于實現 Redis 的高可用性。

2.2 作用

  1. 主從切換:當主節點(Master)出現故障時,哨兵會自動將一個從節點(Slave)提升為新的主節點,確保服務不中斷。

  2. 監控:哨兵持續監控 Redis 主節點和從節點的健康狀態,檢測節點是否在線或出現故障。

  3. 通知:當檢測到故障或主從切換時,哨兵可以通過配置的方式通知管理員或其他系統。

  4. 配置管理:哨兵會自動更新客戶端的主節點地址,確保客戶端始終連接到正確的主節點。

2.3 配置實例

實驗設備

Ubuntu---192.168.52.105(主服務器)
Ubuntu1---192.168.52.31和Ubuntu2---192.168.52.107(從服務器)
#主服務器
vim /data/redis-6.2.6/sentinel.conf
bind 0.0.0.0
logfile "/apps/redis/log/sentinel.log"#修改sentinel monitor mymaster 127.0.0.1 6379 2為
sentinel monitor mymaster 192.168.52.105 6379 2sentinel auth-pass 123456
sentinel down-after-milliseconds mymaster 3000#從服務器
vim /apps/redis/etc/redis.conf
masterauth 123456
replicaof 192.168.52.105 6379#查看
redis-cli
info

?

#主服務器
vim /data/redis-6.2.6/sentinel.confsentinel monitor mymaster 192.168.52.105 6379 2sentinel auth-pass mymaster 123456
#從服務器
echo  "requirepass 123456" >> /apps/redis/etc/redis.conf 
systemctl restart redis
在主
cd /data/redis-6.2.6/
cp sentinel.conf /apps/redis/etc/
cd /apps/redis/etc/
chown redis:redis sentinel.confscp sentinel.conf 192.168.52.31:/apps/redis/etc/
scp sentinel.conf 192.168.52.107:/apps/redis/etc/在從
cd /apps/redis/etc/
chown redis:redis sentinel.conf
#必須先從主服務器開始,然后再是從服務器
cat  >> /lib/systemd/system/redis-sentinel.service  <<eof
[Unit]
Description=Redis Sentinel
After=network.target
[Service]
ExecStart=/apps/redis/bin/redis-sentinel /apps/redis/etc/sentinel.conf --supervised systemd
ExecStop=/bin/kill -s QUIT $MAINPID
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
eofsystemctl daemon-reload 
systemctl start redis-sentinel.servicetail sentinel.conf

?

?

三. Redis cluster

3.1 定義

Redis Cluster 是 Redis 官方提供的分布式解決方案,主要用于實現 Redis 的高可用性和數據分片。

3.2 作用

  1. 數據分片:Redis Cluster 將數據自動分片到多個節點上,每個節點只存儲部分數據,從而支持更大規模的數據集。

  2. 高可用性:每個分片(Shard)都有主節點和從節點,當主節點出現故障時,從節點會自動提升為主節點,確保服務不中斷。

  3. 自動故障轉移:Redis Cluster 會自動檢測節點故障,并進行主從切換,無需人工干預。

  4. 數據一致性:Redis Cluster 使用異步復制來保證數據的一致性,同時支持部分同步(Partial Resynchronization)以減少數據丟失。

  5. 客戶端透明訪問:客戶端可以連接到任意節點,Redis Cluster 會自動將請求路由到正確的節點。

3.3 配置實例?

1. 新建集群文件目錄

cd  /apps/redis/
mkdir -p redis-cluster/redis600{1..6}

2. 準備可執行文件到每個文件夾

cd redis-cluster/
for i in {1..6}
do
cp /data/redis-6.2.6/redis.conf /apps/redis/redis-cluster/redis600$i
cp /data/redis-6.2.6/src/redis-cli /data/redis-6.2.6/src/redis-server /apps/redis/redis-cluster/redis600$i
done#查看
tree

?

3. 開啟群集功能

cd /apps/redis/redis-cluster/redis6001/
vim redis.conf
bind 0.0.0.0							#默認監聽所有網卡  
protected-mode no						#修改,關閉保護模式
port 6001								#修改,redis監聽端口,
daemonize yes							#開啟守護進程,以獨立進程啟動  如果是 systemd 啟動不需要修改
cluster-enabled yes						#取消注釋,開啟群集功能
cluster-config-file nodes-6001.conf		#取消注釋,群集名稱文件設置
cluster-node-timeout 15000				#取消注釋群集超時時間設置
appendonly yes							#修改,開啟AOF持久化
daemonize yes                           #開啟后臺啟動

#將 redis6001 目錄下的 redis.conf 配置文件復制到 redis6002 到 redis6006 目錄中。
cd /apps/redis/redis-cluster/redis6001
for i in {2..6}
do
\cp -f  ./redis.conf   /apps/redis/redis-cluster/redis600${i}
done#修改端口號
sed  -i   's/6001/6002/'   /apps/redis/redis-cluster/redis6002/redis.conf
sed  -i   's/6001/6003/'   /apps/redis/redis-cluster/redis6003/redis.conf
sed  -i   's/6001/6004/'   /apps/redis/redis-cluster/redis6004/redis.conf
sed  -i   's/6001/6005/'   /apps/redis/redis-cluster/redis6005/redis.conf
sed  -i   's/6001/6006/'   /apps/redis/redis-cluster/redis6006/redis.conf

?

4. 啟動redis節點

systemctl stop redisfor d in {1..6}
do
cd /apps/redis/redis-cluster/redis600$d
redis-server redis.conf
done

?

5. 查看是否啟動成功

ps aux|grep redis

6. 啟動集群

redis-cli --cluster create 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:6004 127.0.0.1:6005 127.0.0.1:6006 --cluster-replicas 1

7. 測試集群

redis-cli -p 6001  -c
#查看節點的哈希槽編號范圍
cluster slots			

#生成數據測試
set name zhangsan
#查看name鍵的槽編號
cluster keyslot name

?

四.??命令行配置

命令解釋
info replication查看主從狀態
repliacaof 或者 ( slaveof )添加主從配置 例子: repliacaof 192.168.91.100 6379
CONFIG SET masterauth 123456臨時設置密碼
repliacaof masterip masterport臨時添加主設置
REPLICAOF no one取消 主從配置

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

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

相關文章

簡述八大排序(Sort)

1.插入排序 1.1直接插入排序 給定一組數據&#xff0c;若數據只有一個肯定是有序的&#xff0c;我們將無序數據一個個插入到已有序的數據中。用i遍歷無序數據&#xff0c;j遍歷有序數據&#xff0c;找到合適插入位置&#xff0c;用tmp存放目標插入數據&#xff0c;將其與j對應…

xcode 編譯運行錯誤 Sandbox: rsync(29343) deny(1) file-write-create

解決方法 方法一&#xff1a;修改Targets -> Build Settings 中 ENABLE_USER_SCRIPT_SANDBOXING 設置 NO 方法二&#xff1a;項目使用cocoaPods進行三方管理 且 使用了 use_frameworks&#xff0c;把 use_frameworks 注釋掉,然后重新自行pod install

linux系統中防火墻的操作

防火墻 開放ssh端口 sudo ufw allow 22/tcp # 允許 SSH 連接 sudo ufw enable開放防火墻端口 sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS&#xff08;如果需要&#xff09; sudo ufw enable查看擋墻防火墻設置 sudo ufw status刪除其中一條防火墻規…

[特殊字符] 超強 Web React版 PDF 閱讀器!支持分頁、縮放、旋轉、全屏、懶加載、縮略圖!

在現代 Web 項目中&#xff0c;PDF 瀏覽是一個常見需求&#xff1a;從政務公文到合同協議&#xff0c;PDF 文件無處不在。但很多方案要么體驗不佳&#xff0c;要么集成復雜。今天&#xff0c;我給大家帶來一個開箱即用、功能全面的 PDF 預覽組件 —— [PDFView](https://www.np…

設計模式——策略設計模式(行為型)

摘要 策略設計模式是一種行為型設計模式&#xff0c;它定義了一系列算法并將每個算法封裝起來&#xff0c;使它們可以相互替換。該模式讓算法的變化獨立于使用算法的客戶&#xff0c;從而使得算法可以靈活地切換和擴展。其主要角色包括策略接口、具體策略類和環境類。策略模式…

DeepSeek-R1-0528,官方的端午節特別獻禮

DeepSeek&#xff1a;端午安康&#xff01;刻在國人骨子里的浪漫 2025 年 05 月 28 日 | DeepSeek 端午特別獻禮 當粽葉飄香時&#xff0c;DeepSeek 悄然帶來一份節日驚喜 版本號 DeepSeek-R1-0528 正式上線 官方賦予它的靈魂是&#xff1a; 思考更深 推理更強 用戶通過官網…

mac安裝brew時macos無法信任ruby的解決方法

背景 在使用如下腳本安裝brew時&#xff0c;遇到安裝ruby&#xff0c;macos不信任外部軟件&#xff0c;在安全性點擊信任仍然無法安裝。 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"如何解決 本地安裝好符…

2025音頻傳輸模塊全球選購指南:高品質音頻體驗的品牌之選

隨著無線技術的迅猛發展&#xff0c;音頻傳輸模塊&#xff08;Audio Transmission Module&#xff09;已成為高品質音頻體驗的關鍵技術之一。它們廣泛應用于智能家居、無線耳機、會議系統、廣播設備以及專業音頻領域。面對市場上多樣化的產品&#xff0c;如何選擇適合自己需求的…

解析樓宇自控系統:分布式結構的核心特點與優勢展現

在建筑智能化發展的進程中&#xff0c;樓宇自控系統作為實現建筑高效運行與管理的關鍵&#xff0c;其系統結構的選擇至關重要。傳統的集中式樓宇自控系統在面對日益復雜的建筑環境和多樣化的管理需求時&#xff0c;逐漸暴露出諸多弊端&#xff0c;如可靠性低、擴展性差、響應速…

Spring Boot對一些技術框架進行了統一版本號管理

這個說法是 正確的。 Spring Boot 對許多常用依賴進行了版本管理&#xff0c;因此在項目中引入這些依賴時&#xff0c;通常不需要指定版本號。 Spring Boot 依賴版本管理 &#x1f6e0;? spring-boot-starter-parent&#xff1a;當你的項目在 pom.xml (Maven 項目) 中繼承自…

關于MySQL的索引

一、索引 1、索引概述 1.1、介紹 索引&#xff08; index &#xff09;是幫助 MySQL 高效獲取數據的數據結構 ( 有序 ) 。在數據之外&#xff0c;數據庫系統還維護著滿足特定查找算法的數據結構&#xff0c;這些數據結構以某種方式引用&#xff08;指向&#xff09;數據&…

微服務常用日志追蹤方案:Sleuth + Zipkin + ELK

在微服務架構中&#xff0c;一個用戶請求往往需要經過多個服務的協同處理。為了有效追蹤請求的完整調用鏈路&#xff0c;需要一套完整的日志追蹤方案。Sleuth Zipkin ELK 組合提供了完整的解決方案 Sleuth&#xff1a;生成和傳播追蹤IDZipkin&#xff1a;收集、存儲和可視化…

R語言基礎| 創建數據集

在R語言中&#xff0c;有多種數據類型&#xff0c;用以存儲和處理數據。每種數據類型都有其特定的用途和操作函數&#xff0c;使得R語言在處理各種數據分析任務時非常靈活和強大&#xff1a; 向量&#xff08;Vector&#xff09;: 向量是R語言中最基本的數據類型&#xff0c;它…

nssctf第二題[SWPUCTF 2021 新生賽]簡簡單單的邏輯

這是題目&#xff0c;下載后得到一個python文件,打開 解讀代碼&#xff1a; for i in range(len(list)):key (list[i]>>4)((list[i] & 0xf)<<4)result str(hex(ord(flag[i])^key))[2:].zfill(2)list[i]>>4&#xff1a;從列表中取數字同時高4位向右位…

mysql(十五)

目錄 子查詢 1.準備工作 2--創建表格 3--插入數據 2.where 子查詢單列單個數據 格式 查詢 3.where 子查詢單列多個數據(in) 格式 查詢 使用子查詢 4.from 多行多數據 格式 查詢 子查詢 將select的查詢的返回結果 當成另外一個selet語句的內容去使用。 子查詢放在()里面 注意…

【HarmonyOS 5】鴻蒙Taro跨端框架

?Taro跨端框架? 支持React語法開發鴻蒙應用&#xff0c;架構分為三層&#xff1a; ArkVM層運行業務代碼和React核心TaroElement樹處理節點創建和屬性綁定TaroRenderNode虛擬節點樹與上屏節點一一對應 import { Component } from tarojs/taro export default class MyCompon…

華為OD機試真題——會議接待 /代表團坐車(2025A卷:200分)Java/python/JavaScript/C++/C語言/GO六種最佳實現

2025 A卷 200分 題型 本文涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、測試用例以及綜合分析; 并提供Java、python、JavaScript、C++、C語言、GO六種語言的最佳實現方式! 本文收錄于專欄:《2025華為OD真題目錄+全流程解析/備考攻略/經驗分享》 華為OD機試真題《會議…

C語言---動態內存管理、柔性數組

一、malloc和free 1、變長數組 變長數組是指數組的大小可以通過變量來指定。 在c99以及之后的標準中&#xff1a; #include<stdio.h> int main() { int n0; scanf("%d",&n); } 2、malloc和free 這個函數向內存申請一塊連續可用的空間&#xff0c;并返…

WEBSTORM前端 —— 第3章:移動 Web —— 第4節:移動適配-VM

目錄 一、適配方案 二、VM布局 ?編輯 三、vh布局 四、案例—酷我音樂 一、適配方案 二、VM布局 三、vh布局 四、案例—酷我音樂

Dynamics 365 Business Central AI Sales Order Agent Copilot

#AI Copilot# #D365 BC 26 Wave# 最近很多客戶都陸續升級到 Dynamics 365 Business Central 26 wave, Microsoft 提供一個基于Copilot 的Sales Order Agent&#xff0c;此文將此功能做個介紹. Explorer: 可以看到26版本上面增加了這樣一個新圖標。 Configuration: 配置過程…