Redis Cluster 部署詳細教程
新服務器上設置 Redis Cluster 的操作文檔:
前提條件
- 已購買並初始化三臺服務器,假設其 IP 地址分別爲:
server1-ip
,server2-ip
,server3-ip
- 確保服務器之間網絡互通,可通過
ping
命令驗證
步驟 1:安裝 Redis
在每臺服務器上執行:
# 更新系統包列表
sudo apt-get update
# 安裝 Redis(這裏以 Ubuntu/Debian 爲例,其他系統請參考對應官方文檔)
sudo apt-get install redis-server -y
# 檢查 Redis 是否已成功安裝和運行
systemctl status redis-server
步驟 2:配置 Redis 節點
在每臺服務器上分別創建三個不同的配置文件,例如:
# server1 上的配置文件
nano /etc/redis/redis-7000.conf
nano /etc/redis/redis-7001.conf
# server2 和 server3 上同樣創建兩個不同端口的配置文件
# ...
# 對每個配置文件進行如下修改:
# 示例:對於 redis-7000.conf
port 7000
cluster-enabled yes
cluster-config-file nodes-7000.conf
appendonly yes # 如果需要持久化數據
# 同理對 redis-7001.conf 進行類似修改,將端口號改爲 7001
在 Redis Cluster 集羣中,每個節點都需要監聽不同的端口。創建兩個不同端口的配置文件是爲了在同一臺服務器上運行兩個獨立的 Redis 實例,這兩個實例將分別作爲集羣中的不同節點。
Redis Cluster 的設計要求至少有三個主節點(以確保數據分佈和容錯能力),並且推薦爲主節點配置從節點以實現高可用性。因此,在每臺服務器上通常會部署一個主節點和至少一個從節點,這就需要爲每個實例使用不同的端口來避免衝突。
例如,在 server2
和 server3
上,可能的端口分配如下:
-
在
server2
上:- Redis 實例 1 監聽端口
7000
,作爲集羣的一個主節點 - Redis 實例 2 監聽端口
7001
,作爲第一個主節點的從節點或者另一個主節點
- Redis 實例 1 監聽端口
-
在
server3
上:-
Redis 實例 3 監聽端口
7002
,作爲另一個主節點 -
Redis 實例 4 監聽端口
7003
,作爲第三個主節點的從節點或前一個未配對的主節點的從節點
-
這樣配置可以滿足集羣的基本要求,並提供一定程度的數據冗餘和故障恢復能力。
步驟 3:啓動 Redis 節點
在每臺服務器上根據配置文件啓動 Redis 實例
# 對於 server1
sudo systemctl start redis@7000
sudo systemctl start redis@7001
# 對於 server2 和 server3 同樣啓動相應的 Redis 實例
# ...
步驟 4:創建 Redis Cluster
登錄到任意一臺服務器,並使用 redis-cli 創建集羣
# 先確保已經安裝了 redis-cli,若沒有則需先安裝
sudo apt-get install redis-tools -y
# 使用以下命令創建集羣,替換實際的 IP 地址
redis-cli --cluster create server1-ip:7000 server1-ip:7001 server2-ip:7000 server2-ip:7001 server3-ip:7000 server3-ip:7001 --cluster-replicas 1
# 若 Redis 設置了密碼,則加上 `-a <password>` 參數
步驟 5:驗證集羣狀態
在任意節點上通過 redis-cli 檢查集羣狀態
redis-cli -c -h serverX-ip -p 7000
CLUSTER INFO
CLUSTER NODES
以上是基於 Linux 系統的基本操作步驟,實際部署時請根據實際情況調整。確保每個步驟前都進行了充分的測試與檢查。
注意:在生產環境中,請根據業務需求和安全性要求進一步優化配置,包括但不限於防火牆規則、安全組設置等。
歡迎關注公-衆-號【TaonyDaily】、留言、評論,一起學習。
Don’t reinvent the wheel, library code is there to help.
文章來源:劉俊濤的博客
若有幫助到您,歡迎點贊、轉發、支持,您的支持是對我堅持最好的肯定(_)