一、創建節點(接上文)
1、在H1服務器/root/soft目錄下創建7002目錄
2、將7001目錄的配置文件redis.conf拷貝到7002,並修改配置文件的端口
3、進入 redis-5.0.5 目錄下,執行啟動命令
./src/redis-server ../7002/redis.conf
4、進入H2創建7002的salve,步驟與前三個步驟一樣
二、添加主節點
1、第一個ip:port 為需要添加的節點ip和端口,第二個ip:port為當前集群中的節點和端口;先后執行以下命令:
./src/redis-cli --cluster add-node 172.26.237.83:7002 172.26.237.83:7000 -a 0123456789
./src/redis-cli --cluster add-node 172.26.237.84:7002 172.26.237.83:7000 -a 0123456789

2、在H1進入redis客戶查看集群的健康狀態和節點狀態

三、分配哈希槽
注意:新添加的節點是沒有哈希曹的,所以並不能正常存儲數據,需要給新添加的節點分配哈希曹:哈希槽的配置不均勻,可能導致數據不同步;
1、重新分配哈希槽
# ip:port 為當前redis集群任意節點ip和port,-a后面加密碼
./src/redis-cli --cluster reshard ip:port -a 密碼
執行上述命令后,如圖:

2、輸入要分配多少個哈希槽(數量)?比如我要分配1000個哈希槽

3、輸入指定要分配哈希槽的節點ID,如上上圖端口號為7002的兩個master節點哈希槽的數量為0(選擇任意一個節點作為目標節點進行分配哈希槽);

4、選擇需要分配的哈希槽來源,輸入all
輸入all 需要分配給目標節點的哈希槽來着當前集群的其他主節點(每個節點拿出的數量為集群自動決定)

是否繼續執行建議的reshard計划

輸入yes后,就會完成分配哈希槽:
(1)進入redis客戶端cluster slots 查看(7002端口的主節點的原哈希槽數量為0)

四、分配哈希槽有兩種方式
(1)將所有節點用作哈希槽的源節點。:all
(2)在指定的節點拿出指定數量的哈希槽分配到目標節點:done
上述使用的是第一種方式分配哈希槽:
現在我們講一下用第二種方式怎么分配:
1、現在我們對7002端口的另一個master進行分配哈希槽
./src/redis-cli --cluster reshard ip:port -a 密碼
2、這里輸入給目錄節點選擇分配1000個哈希槽,並輸入要給哪個節點分配哈希槽,就輸入哪個節點的ID

3、先輸入源節點ID(哈希從哪里來的?),然后再輸入done

正在從源節點遷移哈希槽

4、是否繼續執行建議的reshard計划
Do you want to proceed with the proposed reshard plan (yes/no)?
輸入yes

5、執行結束后
cluster slots 查看

五、添加從節點
比如:添加7008節點(slave的添加方法,master為7007)
# 節點ID是主節點的ID
# 127.0.0.1:7008 是新加的從節點
# 127.0.0.1:7007 作為從節點的主節點
./src/redis-cli --cluster add-node --cluster-slave --cluster-master-id db10a9d5c1662d9e3cee21c5776f2e9709f76619 127.0.0.1:7008 127.0.0.1:7007
