首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Docker 搭建 Redis 3 集群環境:3 Master + 3 Slave 完整實驗

     編輯:Java 綜合教學

Docker 搭建 Redis 3 集群環境:3 Master + 3 Slave 完整實驗

在單一 Docker 宿主機上建立 3 個容器,各運行一對 Redis 實例(共 6 個節點),組成 3 Master + 3 Slave 的 Redis Cluster,供外部客戶端透過宿主機 IP 訪問。

實驗拓撲規劃

容器 ID容器 IPRedis 端口角色
e2189fc1d4d9172.17.0.27001, 7002Master + Slave
91dac3ea23c9172.17.0.47003, 7004Master + Slave
9cb25bcd52d1172.17.0.57005, 7006Master + Slave

客戶端透過宿主機 192.168.100.67 訪問集群(需配置端口映射或 Host 網路模式)。

關鍵步驟概覽

  1. 建立 Docker 網路(可選):docker network create redis-net 讓容器間互通。
  2. 編寫 Redis Cluster 配置檔:每個實例需獨立 redis.conf,關鍵參數:
    port 7001
    cluster-enabled yes
    cluster-config-file nodes-7001.conf
    cluster-node-timeout 5000
    appendonly yes
    bind 0.0.0.0
  3. 啟動 6 個 Redis 實例:可用 docker run -d --net=redis-net -v $PWD/conf:/conf redis:3.2 redis-server /conf/redis-7001.conf 等方式逐個啟動,或編寫 docker-compose.yml 統一編排。
  4. 建立集群:進入任一容器,執行
    redis-cli --cluster create 172.17.0.2:7001 172.17.0.2:7002 172.17.0.4:7003 172.17.0.4:7004 172.17.0.5:7005 172.17.0.5:7006 --cluster-replicas 1
    確認輸入 yes,自動分配 16384 槽位並指定 Master/Slave。
  5. 驗證集群狀態:redis-cli -c -h 192.168.100.67 -p 7001 cluster nodes 應顯示 6 節點、3 Master 含槽位、3 Slave 對應複製。

注意事項

  • Redis 3.x 使用 redis-cli --cluster 原生支援,無需 Ruby 腳本。
  • 生產環境建議每個節點獨立容器、跨主機部署、配置持久化卷、啟用 AOF/RDB 混合持久化。
  • 客戶端需支援 Cluster 協議(如 jedis-cluster、lettuce、StackExchange.Redis),自動重導向 MOVED/ASK。
  • 防火牆需開放 7001~7006 及 17001~17006(集群總線端口 = 10000 + 服務端口)。

附件

實驗完整配置檔、啟動腳本、docker-compose.yml 已打包:Docker+Redis_CLUSTER 實驗.zip(原文附件連結)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved