Redis集群添加節點
1:首先把需要添加的節點啟動
cd?/usr/local/cluster/ mkdir?7006 cp?/usr/local/cluster/redis.conf??/usr/local/cluster/7006/ cd?/usr/local/cluster/7006/ vi?redis.conf ##修改redis.conf中的port參數的值為7006 redis-server?redis.conf |
2:執行以下命令,將這個新節點添加到集群中
cd?/usr/local/redis3.0/src/ ./redis-trib.rb?add-node?127.0.0.1:7006?127.0.0.1:7000 |
?
3:執行命令redis-cli?-c?-p?7000?cluster?nodes,查看剛才新增的節點
?
4:增加了新的節點之后,這個新的節點可以成為主節點或者是從節點
4.1?把這個節點變成主節點,使用redis-trib程序,將集群中的某些哈希槽移動到新節點里面, 這個新節點就成為真正的主節點了。
執行下面的命令對集群中的哈希槽進行移動
cd?/usr/local/redis3.0/src ./redis-trib.rb?reshard?127.0.0.1:7000 |
系統會提示我們要移動多少哈希槽,這里移動1000個
?
然后還需要指定把這些哈希槽轉移到哪個節點上,
?
輸入我們剛才新增的節點的ID
f32dc088c881a6b930474fc5b52832ba2ff71899
然后需要我們指定轉移哪幾個幾點的哈希槽
?
輸入all?表示從所有的主節點中隨機轉移,湊夠1000個哈希槽
然后再輸入yes,redis集群就開始分配哈希槽了。
至此,一個新的主節點就添加完成了,執行命令查看現在的集群中節點的狀態
redis-cli?-c?-p?7000?cluster?nodes |
?
?
4.2:把這個節點變成從節點
前面我們已經把這個新節點添加到集群中了,現在我們要讓新節點成為127.0.0.1:7001的從節點,只需要執行下面的命令就可以了,命令后面的節點ID就是127.0.0.1:7001的節點ID
redis-cli?-c?-p?7006?cluster?replicate?0b00721a509444db793d28448d8f02168b94bd38 |
使用下面命令來確認一下127.0.0.1:7006是否已經成為127.0.0.1:7001的從節點
?redis-cli?-p?7000?cluster?nodes?|?grep?slave?|?grep?0b00721a509444db793d28448d8f02168b94bd38 |
看到下面圖片中的情況就表示添加成功
?
?
?
?
?
?
?
?
Redis集群刪除節點
1:如果刪除的節點是主節點,這里我們刪除127.0.0.1:7006節點,這個節點有1000個哈希槽
首先要把節點中的哈希槽轉移到其他節點中,執行下面的命令
cd?/usr/local/redis3.0/src ./redis-trib.rb?reshard?127.0.0.1:7000 |
系統會提示我們要移動多少哈希槽,這里移動1000個,因為127.0.0.1:7006節點有1000個哈希槽
然后系統提示我們輸入要接收這些哈希槽的節點的ID,這里使用127.0.0.1:7001的節點ID
然后要我們選擇從那些節點中轉出哈希槽,這里一定要輸入127.0.0.1:7006這個節點的ID,最后輸入?done??表示輸入完畢
最后一步,使用下面的命令把這個節點刪除
cd?/usr/local/redis3.0/src/ ./redis-trib.rb?del-node?127.0.0.1:7006?127.0.0.1:7006 |
2:如果節點是從節點的,直接使用下面的命令刪除即可。
cd?/usr/local/redis3.0/src/ ./redis-trib.rb?del-node?127.0.0.1:7006?127.0.0.1:7006 |