多臺服務器上docker部署 Redis 集群

  1. 規劃集群節點
    確保你的服務器有固定 IP,比如:
    172.16.17.100
    172.16.17.101
    172.16.17.102
    每臺服務器運行 2 個 Redis 節點,總共 6 個節點,滿足 Redis Cluster 最小節點數要求。
2. 在每臺服務器上運行 Redis
在每臺服務器上執行以下命令(調整 CLUSTER_ANNOUNCE_IP 為本機 IP):```bash
docker run -d --name redis-7000 -e CLUSTER_ANNOUNCE_IP=172.16.17.100 \-p 7000:7000 -p 17000:17000 \registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis-cluster:4.0docker run -d --name redis-7001 -e CLUSTER_ANNOUNCE_IP=172.16.17.100 \-p 7001:7001 -p 17001:17001 \registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis-cluster:4.0
在 172.16.17.101 執行:```bash
docker run -d --name redis-7002 -e CLUSTER_ANNOUNCE_IP=172.16.17.101 \-p 7002:7002 -p 17002:17002 \registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis-cluster:4.0docker run -d --name redis-7003 -e CLUSTER_ANNOUNCE_IP=172.16.17.101 \-p 7003:7003 -p 17003:17003 \registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis-cluster:4.0

在 172.16.17.102 執行:

docker run -d --name redis-7004 -e CLUSTER_ANNOUNCE_IP=172.16.17.102 \-p 7004:7004 -p 17004:17004 \registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis-cluster:4.0docker run -d --name redis-7005 -e CLUSTER_ANNOUNCE_IP=172.16.17.102 \-p 7005:7005 -p 17005:17005 \registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/redis-cluster:4.0
  1. 初始化 Redis Cluster
    在任意一臺服務器上執行(推薦在 172.16.17.100):
docker exec -it redis-7000 redis-cli --cluster create \172.16.17.100:7000 172.16.17.100:7001 \172.16.17.101:7002 172.16.17.101:7003 \172.16.17.102:7004 172.16.17.102:7005 \--cluster-replicas 1

說明:
–cluster-replicas 1:每個主節點分配 1 個從節點。

如果提示 (type ‘yes’ to accept),請輸入 yes 確認集群初始化。

  1. 驗證 Redis 集群
    執行以下命令,檢查集群狀態:
docker exec -it redis-7000 redis-cli -c -p 7000

然后輸入:

cluster nodes

確保每個節點的狀態為 master 或 slave,并且 connected。

  1. Spring Boot 配置
    在 application.yml 里配置:
spring:redis:cluster:nodes:- 172.16.17.100:7000- 172.16.17.100:7001- 172.16.17.101:7002- 172.16.17.101:7003- 172.16.17.102:7004- 172.16.17.102:7005
  1. 允許防火墻訪問
    如果你使用 iptables 或 firewalld,確保開放 7000-7005 和 17000-17005 端口:
firewall-cmd --zone=public --add-port=7000-7005/tcp --permanent
firewall-cmd --zone=public --add-port=17000-17005/tcp --permanent
firewall-cmd --reload

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

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

相關文章

【Pandas】pandas DataFrame dtypes

Pandas2.2 DataFrame Attributes and underlying data 方法描述DataFrame.index用于獲取 DataFrame 的行索引DataFrame.columns用于獲取 DataFrame 的列標簽DataFrame.dtypes用于獲取 DataFrame 中每一列的數據類型 pandas.DataFrame.dtypes pandas.DataFrame.dtypes 屬性用…

如何實現局域網內無痛訪問Jupyter Notebook?

Jupyter Notebook是數據科學和機器學習領域非常常用的交互式開發環境。默認情況下,Jupyter Notebook啟動后只能本地訪問,并且會自動生成一個token用于身份驗證。當需要從其他電腦遠程訪問時,往往需要對配置進行修改。 本文將詳細介紹如何通過…

[Windows] eDiary 4.3.6 日記軟件

[Windows] eDiary 鏈接:https://pan.xunlei.com/s/VOMq6xmKTbEJtNaW-BXZ7KKSA1?pwdcrvu# 【應用功能】 加密 無論本地還是云端,都可以選擇高強度加密。系統以用戶密碼為種子,對數據進行…

掌握 Flexbox 布局:為容器添加豎向滾動條的完美方案

掌握 Flexbox 布局:為容器添加豎向滾動條的完美方案 前言 在現代網頁設計中,Flexbox 布局因其靈活性和強大的對齊功能而備受歡迎。然而,在實際開發過程中,我們有時會遇到需要在一個具有最小高度的 Flex 容器中實現內容溢出時顯示…

Node.js v22.14.0 多平臺安裝指南:Windows、Linux 和 macOS 詳細教程

Node.js作為現代Web開發的基石,持續為開發者帶來性能提升和新特性支持。本文將詳細介紹在Windows、macOS和Linux系統上安裝最新Node.js的多種方法,助您快速搭建高效的JavaScript開發環境。 📦 當前最新版本 截至2025年4月,Node.…

動態規劃學習——回文子串系列問題【C++】

一,回文子串 題目鏈接:LCR 020. 回文子串 - 力扣(LeetCode) 【問題描述】 求一個字符串中有多少個回文子串,其中一個字符也算是一個回文子串。 【解法】 動態規劃 求一個字符串中回文子串的個數,我么可…

My first day in QT programming

My first QT code this->setWindowTitle("HelloWorld"); //設置窗口名稱 this->resize(400, 300); //設置窗口大小 QPushButton* btn new QPushButton; //新建按鈕組件 btn->setParent(this); //為按鈕指定父對象 …

基于python開發的郵箱合并群發工具

智能郵件群發系統 一個基于Python和PyQt5開發的智能郵件群發工具,支持Word模板和Excel數據源的自動匹配,具有現代化UI界面和友好的用戶體驗。 Github項目地址:https://github.com/liugang926/Auto-mail-sent.git dist目錄有編譯好的exe程序&…

大模型-提示詞(Prompt)技巧

1、什么是提示詞? 提示詞(Prompt)是用戶發送給大語言模型的問題、指令或請求,用來明確地告訴模型用戶想要解決的問題或完成的任務,是大語言模型理解用戶需求并據此生成相關、準確回答或內容的基礎。對于大語言模型來說…

Android開發:support.v4包與AndroidX

Android中的support.v4包與AndroidX support.v4包概述 Android Support Library中的android.support.v4包是Google為保持Android應用向后兼容而提供的重要支持庫集合。它主要解決以下問題: API版本兼容:讓新版API能在舊版Android系統上使用功能增強&a…

TCP-IP模型

書接上回(OSI通信模型) TCP-IP協議結構 (略講) ARP:IP-->MAC RARP:MAC-->IP ICMP:控制報文信息協議,主要是涉及到主機就去連接路由器時控制傳輸報文&#xff08…

雪花算法生成的主鍵存在哪些問題,為什么不能使用自增ID或者UUID做MySQL的主鍵

MySQL 分布式架構中的主鍵選擇:自增ID、UUID與雪花算法 為什么MySQL分布式架構中不能使用自增主鍵? 在分布式架構中,自增主鍵存在以下問題: 主鍵沖突風險:多個數據庫實例同時生成自增主鍵會導致ID重復分片不均勻&am…

RapidJSON 處理 JSON(高性能 C++ 庫)(四)

第四部分:RapidJSON 處理 JSON(高性能 C++ 庫) ?? 快速掌握 JSON!文章 + 視頻雙管齊下 ?? 如果你覺得閱讀文章太慢,或者更喜歡 邊看邊學 的方式,不妨直接觀看我錄制的 RapidJSON 課程視頻!?? 視頻里會用更直觀的方式講解 RapidJSON 的核心概念、實戰技巧,并配有…

chromem-go + ollama + bge-m3 進行文檔向量嵌入和查詢

Ollama 安裝 https://ollama.com/download Ollama 運行嵌入模型 bge-m3:latest ollama run bge-m3:latestchromem-go 文檔嵌入和查詢 package mainimport ("context""fmt""runtime""github.com/philippgille/chromem-go" )func ma…

【LeetCode 題解】數據庫:180. 連續出現的數字

一、問題描述 給定一個Logs表,包含自增 ID 和數字字段: CREATE TABLE Logs (id INT PRIMARY KEY AUTO_INCREMENT,num VARCHAR(50) );要求編寫 SQL 查詢,找出所有至少連續出現三次的數字。例如: --------- | id | num | -------…

MaxEnt模型進階:基于R語言自動化與GIS空間建模的物種棲息地精準預測

生物多樣性的空間分布規律及其對環境變化的響應機制,是生態學與地理學研究的前沿議題。在氣候變化加劇和人類活動干擾的雙重壓力下,如何精準預測物種潛在分布范圍、識別關鍵環境驅動因子,已成為制定生物保護策略的核心科學問題。物種分布模型…

緩存雪崩解決方案:二級緩存VS隨機TTL

背景 在學習緩存雪崩的時候,了解到有二級緩存和隨機TTL兩個解決方案,但是在學習之后,個人認為二級緩存本質上還是利用兩層緩存的過期時間不一致來實現緩存過期時間隨機化,這不就是和隨機TTL一樣嗎,故有了這篇思考&…

Android View事件分發機制深度解析

在Android面試中,關于View事件分發機制的考察往往不僅限于基礎流程,更關注底層原理、性能優化和實際應用場景。以下是針對面試的全面回答策略: 一、基礎回答框架 核心三要素: 傳遞流程 "事件分發遵循Activity → Window →…

2829. k-avoiding 數組的最小總和

2829. k-avoiding 數組的最小總和 題目鏈接:2829. k-avoiding 數組的最小總和 代碼如下: class Solution { public:int minimumSum(int n, int k) {int m min(k / 2, n);return (m * (m 1) (k * 2 n - m - 1) * (n - m)) / 2;} };

phpStorm2021.3.3在windows系統上配置Xdebug調試

開始 首先根據PHP的版本下載并安裝對應的Xdebug擴展在phpStorm工具中找到設置添加服務添加php web page配置完信息后 首先根據PHP的版本下載并安裝對應的Xdebug擴展 我使用的是phpStudy工具,直接在php對應的版本中開啟xdebug擴展, 并在php.ini中添加如下…