我正在尝试将Cassandra 2.1.0群集升级到2.1.8(最新版本)。
当我使用2.1.8运行时启动第一个节点时,出现错误并且节点拒绝启动 这是错误的堆栈跟踪:
org.apache.cassandra.io.FSReadError: java.lang.NullPointerException
at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:642) ~[apache-cassandra-2.1.8.jar:2.1.8]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:302) [apache-cassandra-2.1.8.jar:2.1.8]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:524) [apache-cassandra-2.1.8.jar:2.1.8]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:613) [apache-cassandra-2.1.8.jar:2.1.8]
Caused by: java.lang.NullPointerException: null
at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:634) ~[apache-cassandra-2.1.8.jar:2.1.8]
... 3 common frames omitted
FSReadError in Failed to remove unfinished compaction leftovers (file: /home/nudgeca2/datas/data/main/segment-97b5ba00571011e49a928bffe429b6b5/main-segment-ka-15432-Statistics.db). See log for details.
at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:642)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:302)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:524)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:613)
Caused by: java.lang.NullPointerException
at org.apache.cassandra.db.ColumnFamilyStore.removeUnfinishedCompactionLeftovers(ColumnFamilyStore.java:634)
... 3 more
Exception encountered during startup: java.lang.NullPointerException
群集有7个节点,它打开AWS Linux EC2实例 我尝试升级的节点在nodetool耗尽后停止 然后我试着回到2.1.0运行时但我现在得到了类似的错误 我也尝试停止并启动另一个节点,一切正常,节点重启没有任何问题。
我试图触摸丢失的文件(因为它应该删除,我认为它可能不需要特定的内容)。我还有两个其他文件也有同样的错误,我也碰过了。最后,当尝试读取这些文件时,节点会进一步失败。
任何人都知道我应该怎么做? 谢谢你的帮助。
答案 0 :(得分:2)
可能值得为这个问题打开一个Jira,所以如果没有别的,他们可以捕获NPE并提供更好的错误信息。
看起来它正试图打开:
档案:/home/nudgeca2/datas/data/main/segment-97b5ba00571011e49a928bffe429b6b5/main-segment-ka-15432-Statistics.db
它可能正在尝试读取该文件,因为它找到了相关的数据文件:(/home/nudgeca2/datas/data/main/segment-97b5ba00571011e49a928bffe429b6b5/main-segment-ka-15432═.db)。该数据文件是否存在?我很想把它移开,看看它是否正常启动。