Cassandra陷入初始化IndexInfo

时间:2018-04-03 09:27:37

标签: java cassandra centos nodetool

我在CentOS机器上使用Cassandra。在它失败了一段时间之后,我通过它重新启动它 sudo service cassandra restart 并开始在整个地方收到Connection拒绝错误 - 我甚至无法运行nodetool status而没有遇到这个问题。

经过一些挖掘和后续重启后,我在debug.log注意到启动序列卡在了以下位置:

INFO [main] 2018-04-03 09:40:15,156 ColumnFamilyStore.java:389 - Initializing system.IndexInfo INFO [SSTableBatchOpen:1] 2018-04-03 09:40:15,851 BufferPool.java:226 - Global buffer pool is enabled, when pool is exahusted (max is 512 mb) it will allocate on heap DEBUG [SSTableBatchOpen:1] 2018-04-03 09:40:15,873 SSTableReader.java:479 - Opening <path>/IndexInfo-9f5c6374d48532299a0a5094af9ad1e3/mc-300-big (58 bytes) DEBUG [SSTableBatchOpen:2] 2018-04-03 09:40:15,873 SSTableReader.java:479 - Opening <path>3/system/IndexInfo-9f5c6374d48532299a0a5094af9ad1e3/mc-301-big (59 bytes) DEBUG [SSTableBatchOpen:3] 2018-04-03 09:40:15,873 SSTableReader.java:479 - Opening <path>/IndexInfo-9f5c6374d48532299a0a5094af9ad1e3/mc-299-big (302 bytes)

打开这些文件应该花费大约一秒钟 - 它已经坚持了很长时间(例如,它从未超出这一点)。我怀疑所涉及的一些文件必须被破坏(尽管我很惊讶Java并没有在这里遇到某种异常)。

我该怎么办?如果我删除这些文件夹,会导致我丢失数据吗?我可以运行哪些其他诊断来确定问题的根源?对于记录,任何类型的nodetool命令都会退出,并且#34; Connection Refused&#34;错误。

版本号: 卡珊德拉:3.0.9 Java:1.8.0_162 CentOS:6.9

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

事实证明,问题在于涉及的文件已损坏 - 在数据文件夹(currentIndex等)中的所有文件上运行ListView并删除崩溃后的提交日志允许卡桑德拉起床。丢失了几百个数据行(可能是因为我删除了提交日志),但至少数据库已备份了!