集群一個(gè)節(jié)點(diǎn)掛掉,原因是磁盤故障机打。經(jīng)過(guò)IT人員搶修矫户,服務(wù)器起來(lái)了,但是因?yàn)榇疟P故障残邀,Cassandra數(shù)據(jù)全部丟失皆辽。這種情況下,怎么重建該節(jié)點(diǎn)上的數(shù)據(jù)芥挣??jī)煞N方案驱闷。
一:使用替換指令。好比一臺(tái)全新的機(jī)器替換老的機(jī)器空免,使用原來(lái)的IP空另。方法是在啟動(dòng)Cassandra命令里添加replace_address參數(shù)。
二:設(shè)置bootstrap=false蹋砚,啟動(dòng)節(jié)點(diǎn)扼菠,然后運(yùn)行repair指令同步數(shù)據(jù)摄杂。
方案一注意事項(xiàng):
執(zhí)行前刪除下列文件夾及內(nèi)容:
- data/
- commitlog/
- saved_caches/
節(jié)點(diǎn)成功加入集群后,記得從cassandra-env.sh里刪除replace_address指令循榆,否則析恢,下次啟動(dòng)會(huì)失敗。也可以用replace_address_first_boot替代replace_address秧饮,這樣就不需要事后刪除指令了映挂。
方案二據(jù)說(shuō)有很多問(wèn)題,副作用比較多盗尸,不建議使用柑船。