Redis叢集搭建(cluster)
阿新 • • 發佈:2022-04-22
Redis叢集搭建(cluster)
一、安裝redis
1.1 安裝6臺redis服務
server | ip | port |
---|---|---|
redis-01 | 192.168.180.196 | 7001 |
redis-02 | 192.168.180.196 | 7002 |
redis-03 | 192.168.180.196 | 7003 |
redis-04 | 192.168.180.196 | 7004 |
redis-05 | 192.168.180.196 | 7005 |
redis-06 | 192.168.180.196 | 7006 |
# 此處我是在一臺伺服器上安裝6臺redis服務,也可以在6臺伺服器上分別安裝,視各自情況而定 # 在 opt 目錄下,建立 redis-cluster 目錄,然後安裝redis cd /opt mkdir redis-cluster # 下載,安裝 redis 參考文章: Linux下安裝Redis
redis安裝可參考我的部落格: https://www.cnblogs.com/zlonger/p/16143407.html
解壓完壓縮包,然後 make 完畢之後,執行 cp 命令,拷貝5份
# 先將解壓後的資料夾重新命名 redis-01
mv redis-5.0.7 redis-01
# 進行拷貝
cp -R redis-01/ redis-02
cp -R redis-01/ redis-03
cp -R redis-01/ redis-04
cp -R redis-01/ redis-05
cp -R redis-01/ redis-06
1.2 配置
在redis-cluster 建立 redis-data,再在該資料夾中建立7001~7007七個資料夾,存放對應redis服務的資料
cd redis-cluster
mkdir redis-data
cd redis-data
mkdir 7001 7002 ...
如圖所示:
再將redis-01資料夾下的 redis.conf 配置檔案,拷貝出來,放在 redis-cluster 資料夾下,
重新命名為redis-01.conf,同樣的,拷貝7份,如圖所示:
1.3 編輯配置檔案
# 新增埠號 port 7001 # 設定為守護程序,配置 redis 後臺執行 daemonize yes # pid 檔案,會自動建立的,直接指定目錄 pidfile /var/run/redis_7001.pid # 資料儲存位置 dir /opt/redis-cluster/redis-data/7001 # 關閉保護模式 protected-mode no # 開啟叢集 cluster-enabled yes # 叢集配置檔案,不需要我們維護,首次啟動的時候會自動生成 cluster-config-file nodes_7001.conf # 請求超時時間 cluster-node-timeout 10100 # 開啟 AOF 日誌 appendonly yes
其它6個配置檔案,同樣修改,7001 改為700n
1.4 建立redis啟動指令碼
start-all.sh
touch start-all.sh
# 修改執行許可權
chmod +x start-all.sh
指令碼內容:
/opt/redis-cluster/redis-01/src/redis-server /opt/redis-cluster/redis-7001.conf
/opt/redis-cluster/redis-02/src/redis-server /opt/redis-cluster/redis-7002.conf
/opt/redis-cluster/redis-03/src/redis-server /opt/redis-cluster/redis-7003.conf
/opt/redis-cluster/redis-04/src/redis-server /opt/redis-cluster/redis-7004.conf
/opt/redis-cluster/redis-05/src/redis-server /opt/redis-cluster/redis-7005.conf
/opt/redis-cluster/redis-05/src/redis-server /opt/redis-cluster/redis-7006.conf
1.5 關閉指令碼
按1.4步驟,建立 redis 關閉指令碼
stop-all.sh
指令碼內容:
/opt/redis-cluster/redis-01/src/redis-cli -p 7001 shutdown
/opt/redis-cluster/redis-01/src/redis-cli -p 7002 shutdown
/opt/redis-cluster/redis-01/src/redis-cli -p 7003 shutdown
/opt/redis-cluster/redis-01/src/redis-cli -p 7004 shutdown
/opt/redis-cluster/redis-01/src/redis-cli -p 7005 shutdown
/opt/redis-cluster/redis-01/src/redis-cli -p 7006 shutdown
1.6 啟動
執行 start-all.sh 指令碼,進行啟動6個redis服務
./start-all.sh
結構如圖所示:
1.7 建立叢集
隨便登入一個redis-cli,執行建立叢集命令
./redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1
執行命令後,可以看到在建立叢集,中間需要輸入 yes
命令
最後,控制檯出現 ok
即叢集建立完成。
然後,登入,檢視叢集。
1.8 登入檢視叢集
登入叢集,-c表示以叢集模式登入
redis -cli -c -h 127.0.0.1 -p 7001
-
cluster info
命令,檢視叢集資訊 -
cluster nodes
檢視節點資訊 -
cluster slots
檢視槽資訊