我正在从cassandra快照恢复到已删除的表数据。这就是我正在做的事情:登录到第一个节点。从快照中获取所有文件并将其复制到表数据目录。执行
nodetool refresh <keyspace> <table>
并且数据在该节点上显示正常,但不会传输到群集中的其他节点。我知道原因可能与记录上的时间戳有关,因此使用建议我尝试删除表上的数据,执行
TRUNCATE <table>
在此节点之前的节点上,但具有相同的结果。
你有没有在其他节点上尝试过nodetool repair -full?
您需要在所有节点上执行相同的刷新过程,因此该表应该出现在所有节点之后。
我知道这是一个快速而肮脏的解决方案,但当我遇到这个问题时,我的解决方案是:
COPY Usuario (id , usuarioId, organizacionId, descripcion, estado , ultimoCambio, json , sesion) TO 'Usuario.csv';
COPY Usuario (id , usuarioId, organizacionId, descripcion, estado , ultimoCambio, json , sesion) FROM 'Usuario.csv';
我更喜欢备份这些csv而不是快照。执行此过程时,将重新创建行并将其正确复制到群集中的每个节点。