Cassandra节点磁盘损坏的解决方法

集群一个节点挂掉,原因是磁盘故障。经过IT人员抢修,服务器起来了,但是因为磁盘故障,Cassandra数据全部丢失。这种情况下,怎么重建该节点上的数据?两种方案。

一:使用替换指令。好比一台全新的机器替换老的机器,使用原来的IP。方法是在启动Cassandra命令里添加replace_address参数。

二:设置bootstrap=false,启动节点,然后运行repair指令同步数据。

方案一注意事项:

执行前删除下列文件夹及内容:

- data/

- commitlog/

- saved_caches/

节点成功加入集群后,记得从cassandra-env.sh里删除replace_address指令,否则,下次启动会失败。也可以用replace_address_first_boot替代replace_address,这样就不需要事后删除指令了。

方案二据说有很多问题,副作用比较多,不建议使用。

你可能感兴趣的:(Cassandra节点磁盘损坏的解决方法)