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

Redis 3.0.7 叢集部署完整實戰:從單機安裝到主從架構與槽位管理

     編輯:Java 綜合教學

架構規劃與節點拓撲

本部署採用 3 主 3 從架構,跨三台 CentOS 6.5 節點:
- redis1 (192.168.188.18):主 6379 / 從 6380
- redis2 (192.168.188.28):主 6379 / 從 6380
- redis3 (192.168.188.38):主 6379 / 從 6380
主從交叉部署避免單點故障,確保高可用。

單機 Redis 實例安裝標準流程

  1. 安裝依賴:yum -y install tcl-devel
  2. 下載編譯:wget https://download.redis.io/releases/redis-3.0.7.tar.gz → make && make test && make install
  3. 安裝服務:執行 utils/install_server.sh,指定端口(6379/6380)、配置檔、日誌、資料目錄。服務註冊至 chkconfig 並設定開機自啟。
  4. 驗證:/etc/init.d/redis_6379 status

其餘節點重複上述步驟,修改端口與目錄即可。

叢集模式配置關鍵參數

編輯 /etc/redis/6379.conf,核心啟用項:

cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 5000

重啟服務後,資料目錄下自動生成 nodes-6379.conf。

使用 redis-trib.rb 建立叢集

複製腳本:cp ./src/redis-trib.rb /usr/local/bin/
建立指令(--replicas 1 表示每主配一從):

/usr/local/bin/redis-trib.rb create --replicas 1 \
192.168.188.18:6379 192.168.188.28:6379 192.168.188.38:6379 \
192.168.188.18:6380 192.168.188.28:6380 192.168.188.38:6380

工具自動分配 16384 個槽位至 3 個主節點,並建立主從關係。輸入 yes 確認後,叢集啟動完成。

主從關係調整與驗證

預設主從分配可能不符預期,需手動調整:

# 將 18:6380 設為 28:6379 的從節點
redis-cli -c -p 6380 -h 192.168.188.18
cluster replicate 654c0a7853724fe33683f54e8df665993ea704ed

# 將 38:6380 設為 18:6379 的從節點
redis-cli -c -p 6380 -h 192.168.188.38
cluster replicate 53c202561155d141a8e24d42bb8eb2907998fce9

# 持久化配置
cluster saveconfig

使用 redis-trib.rb check 192.168.188.18:6379 驗證槽位覆蓋率與主從狀態。

常見錯誤排查與核心優化

  • Slot 已佔用錯誤:清理 nodes-*.conf、重啟服務、降級 redis gem 至 3.0.7 版本。
  • 過度提交內存警告:sysctl vm.overcommit_memory=1 寫入 /etc/sysctl.conf。
  • 透明大頁(THP)延遲問題:echo never > /sys/kernel/mm/transparent_hugepage/enabled 加入 /etc/rc.local。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved