重新分配哈希曹:
ip:port 為當前redis集群任意節(jié)點ip和port (推薦學習:Redis視頻教程)
redis-cli --cluster reshard ip:port
操作如圖:
分配哈希槽有兩種方式:
1、在其他節(jié)點拿出適量的哈希槽分配到目標節(jié)點
2、在指定的節(jié)點拿出指定數(shù)量的哈希槽分配到目標節(jié)點
如上圖端口號為7005的主節(jié)點哈希槽的數(shù)量為0,為它分配300個哈希槽:
How many slots do you want to move (from 1 to 16384)? 這里輸入你要分配的哈希槽的數(shù)量(如上圖)
What is the receiving node ID? 這里輸入將上一步輸入指定數(shù)量的哈希槽分配給那個節(jié)點,輸入節(jié)點id(如上圖)
這里是在讓你選擇需要分配的哈希槽來源,有兩種選擇:
1、輸入all 需要分配給目標節(jié)點的哈希槽來著當前集群的其他主節(jié)點(每個節(jié)點拿出的數(shù)量為集群自動決定,上圖就是這種方式來完成的?。?/p>
效果(原7005端口的主節(jié)點哈希槽數(shù)量為0):
2、輸入某個節(jié)點的id,這種情況下,需要分配給目標節(jié)點的哈希槽就由該節(jié)點全部承擔(節(jié)點id可以輸入多個,回車分割,輸入done結(jié)束)。
使用第二種方式分配哈希槽:
現(xiàn)在7005端口的節(jié)點哈希槽為300,使用第二種方式為其分配,再增加100,這100的哈希槽再7002端口的節(jié)點上拿
查看效果:
當前7005端口的主節(jié)點為400哈希槽!