1. 程式人生 > 其它 >Redis叢集搭建(cluster)

Redis叢集搭建(cluster)

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
  1. cluster info 命令,檢視叢集資訊

  2. cluster nodes 檢視節點資訊

  3. cluster slots 檢視槽資訊

1.9 參考文章

  1. Redis Cluster 叢集搭建詳細過程_一線大碼的部落格-CSDN部落格_redis叢集搭建