Redis集羣添加節點node
1:首先把須要添加的節點啓動redis
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:執行如下命令,將這個新節點添加到集羣中bash
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,查看剛纔新增的節點ide
4:增長了新的節點以後,這個新的節點能夠成爲主節點或者是從節點spa
4.1 把這個節點變成主節點,使用redis-trib程序,將集羣中的某些哈希槽移動到新節點裏面, 這個新節點就成爲真正的主節點了。.net
執行下面的命令對集羣中的哈希槽進行移動3d
cd /usr/local/redis3.0/src ./redis-trib.rb reshard 127.0.0.1:7000
系統會提示咱們要移動多少哈希槽,這裏移動1000個server
而後還須要指定把這些哈希槽轉移到哪一個節點上,blog
輸入咱們剛纔新增的節點的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
看到下面圖片中的狀況就表示添加成功
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