接著來實際演練一下如何在線上的cluster中新增與刪除node。
首先先看看目前cluster的狀態,三個node的狀態都是UN。
接著我們模擬把172.17.0.5從cluster中拿掉,執行 nodetool decommission,將資料移轉到其他node上。
在執行nodetool decommission之前,首先要注意其他node的剩餘硬碟空間,以免因為資料搬移而塞爆了其他node。
執行nodetool netstat查看172.17.0.5確實已經變成decommssioned狀態。
然後再執行nodetool status查看一次,發現172.17.0.5已經從cluster中消失了。
最後再去安裝的路徑下刪除實體資料。
sudo rm -rf /var/lib/scylla/data
sudo find /var/lib/scylla/commitlog -type f -delete
sudo find /var/lib/scylla/hints -type f -delete
sudo find /var/lib/scylla/view_hints -type f -delete
接著我們再把cluster恢復成3個node。首先參照安裝的步驟新增一個Scylla,在/etc/scylla/scylla.yaml中設定相同的Cluster Name以及Seed,本身的rpc_address以及listen_address。啟動Scylla之後經過一段時間便可以看到這台node新增到cluster中。
最後在原有的兩台node上依序執行nodetool cleanup,清除已經搬移到新node的key。