redis cluster安裝及配置

原生命令搭建redis cluster 分佈式3主3從node

1.準備節點

這裏演示單機多部署(生產環境多機)首先準備6個節點分別是7000-7005端口redis

先配置7000端口shell

這裏說明下cluster相關的配置bash

cluster-enabled表示該節點是否開啓cluster模式分佈式

cluster-config-file 是生成本地cluster的一個配置文件ui

cluster-require-full-coverage 這個是說,若是集羣中有一個節點掛掉,整個集羣將不可用 默認yes 這裏改爲 no,即某節點掛掉,集羣依然對外提供服務。spa

接着配置其餘節點 (同7000)code

接着啓動全部節點ip

這裏咱們隨便選擇一個節點set數據,發現報了個錯部署

這裏由於咱們未分配槽,集羣是不可用的,能夠輸入cluster info命令看下集羣的狀態

2.節點握手

將節點配置啓動後,接下來就要進行節點握手(meet操做)

在節點上執行cluster meet ip port 對集羣中某節點進行握手操做

cluster nodes命令列出集羣中全部節點發現6個,其中7000是master節點

再執行下cluster info命令觀察:

兩個節點都發現有6個節點,表名集羣中全部節點都已經互通完畢。

3.分配槽

分配槽的命令是 cluster addslots 【slot】其中slot參數就是槽節點一次只能分配一個,若是咱們要爲7000節點分配0~5000這個範圍的槽,要執行5000次命令,所以須要寫一個shell腳原本完成分配槽:

start=$1
end=$2
port=$3
for slot in `seq ${start} ${end}`
do
  echo "slot:${slot}"
  redis-cli -p ${port} cluster addslots ${slot}
done

cluster一共有16384個槽(0-16383) 所以爲了平均分配到3個節點(7000-7002是主,7003-7005是從),咱們計劃16384/3 也就是分別爲 0~546一、5462~1092二、三個範圍。

接下來咱們執行分配槽腳本:

sh addslots.sh 0 5461 7000
sh addslots.sh 5462 10922 7001
sh addslots.sh 10923 16383 7002

執行cluster nodes和cluster info查看,全部槽已經分配完畢。

這時候咱們set一個值就成功了

4.配置主從

配置方式:在選擇的從節點上執行 cluster replicate 【nodeId】,nodeId能夠經過cluster nodes得到

執行完後看下節點狀態,發現主從關係已經有了

輸入cluster slots能夠看到槽的分配以及主從

至此,原生手動安裝方式演示完畢!

相關文章
相關標籤/搜索