Cassandra“检测到不可读的 sstables”错误

use*_*435 3 startup cassandra cassandra-2.0

在我的 Windows 盒子上,正常重启 Windows 更新后,我在 Cassandra (2.2.0) 中收到以下错误,并且它无法启动:

错误 10:36:41 检测到不可读的 sstables D:\cassandra_data\data\gputptest-abcdedf-5040777060fe11e5a8557fcd8340170b-KeyCache-b.db,D:\cassandra_data\data\OpsCenter-events_timeline-afbbeee05cea11e59ba77fcd8340 170b-KeyCache-b.db,D:\ cassandra_data\data\system-IndexInfo-9f5c6374d48532299a0a5094af9ad1e3-KeyCache-b.db,....,请检查 NEWS.txt 并确保您已升级到所有必需的中间版本,运行upgradesstables

有什么建议我可以恢复数据库吗?或者,至少删除那些不可读的 sstables 并恢复其余的?

use*_*435 5

问题已解决 [感谢 Jeff Jirsa 的帖子]

我只是删除了错误消息中报告的所有 *.-KeyCache-b.db 文件。然后,我启动了 Cassandra,一切都很好。

为了删除有问题的 *.-KeyCache-b.db 文件(错误消息中有 30 个),我将文件名放入文本文件中,并在 powershell 中运行以下命令:

Get-Content unreadables_stables.txt | Remove-Item
Run Code Online (Sandbox Code Playgroud)