开发者社区 问答 正文

Cassandra安装

ERROR [MemtableFlushWriter:1] 2019-11-05 19:23:08,691 LogReplicaSet.java:94 - Failed to create log replica C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377/C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377\md_txn_flush_99189c20-ffd3-11e9-b69e-0752c2cde782.log
org.apache.cassandra.io.FSReadError: java.io.IOException: Invalid folder descriptor trying to create log replica C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377
        at org.apache.cassandra.db.lifecycle.LogReplica.create(LogReplica.java:58) ~[apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LogReplicaSet.maybeCreateReplica(LogReplicaSet.java:86) ~[apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LogFile.makeRecord(LogFile.java:311) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LogFile.add(LogFile.java:283) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LogTransaction.trackNew(LogTransaction.java:139) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.lifecycle.LifecycleTransaction.trackNew(LifecycleTransaction.java:528) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.io.sstable.format.big.BigTableWriter.<init>(BigTableWriter.java:81) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.io.sstable.format.big.BigFormat$WriterFactory.open(BigFormat.java:92) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.io.sstable.format.SSTableWriter.create(SSTableWriter.java:102) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.create(SimpleSSTableMultiWriter.java:119) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.compaction.AbstractCompactionStrategy.createSSTableMultiWriter(AbstractCompactionStrategy.java:588) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.compaction.CompactionStrategyManager.createSSTableMultiWriter(CompactionStrategyManager.java:1027) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.ColumnFamilyStore.createSSTableMultiWriter(ColumnFamilyStore.java:532) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable$FlushRunnable.createFlushWriter(Memtable.java:504) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable$FlushRunnable.<init>(Memtable.java:443) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable$FlushRunnable.<init>(Memtable.java:420) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable.createFlushRunnables(Memtable.java:307) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.Memtable.flushRunnables(Memtable.java:298) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.ColumnFamilyStore$Flush.flushMemtable(ColumnFamilyStore.java:1153) [apache-cassandra-3.11.5.jar:3.11.5]
        at org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1118) [apache-cassandra-3.11.5.jar:3.11.5]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_191]
        at org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:84) [apache-cassandra-3.11.5.jar:3.11.5]
        at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_191]
Caused by: java.io.IOException: Invalid folder descriptor trying to create log replica C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377
        ... 24 common frames omitted

展开
收起
Puppet 2019-12-10 22:17:45 745 分享 版权
阿里云 AI 助理回答

这个错误信息表明Apache Cassandra在尝试创建日志副本时遇到了问题,具体原因是无效的文件夹描述符。这可能是由于路径问题、权限不足或者文件系统错误导致的。为了解决这个问题,你可以尝试以下几个步骤:

  1. 检查路径是否正确:确保Cassandra配置中指定的数据目录路径是正确的,并且没有重复或多余的路径分隔符。从错误信息看,路径似乎被重复了一次,这是很不寻常的。正确的路径应该像这样:C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377\md_txn_flush_99189c20-ffd3-11e9-b69e-0752c2cde782.log,而不是两个相同路径的拼接。

  2. 权限验证:确认Cassandra服务运行的用户具有对数据目录及其所有子目录的读写权限。在Windows上,你可能需要通过“安全”选项卡调整相应文件夹的权限设置,确保NETWORK SERVICE账户(如果Cassandra以该账户运行)或自定义的服务账户有足够的权限。

  3. 文件系统检查:使用系统工具检查磁盘是否有错误。在Windows上,可以使用chkdsk命令来检查并修复磁盘错误。

  4. 重启Cassandra服务:有时候,简单地重启服务可以解决一些临时性的问题。停止Cassandra服务后,再次启动,观察是否还有同样的错误。

  5. 清理和恢复:如果上述步骤都不能解决问题,可能需要考虑更彻底的措施,比如按照Cassandra的官方文档指导进行节点的清理和数据的恢复。但请注意,这一步骤可能会导致数据丢失,因此在操作之前务必做好数据备份。

  6. 查看日志文件:深入分析Cassandra的日志文件,可能会有更多关于错误的详细信息,帮助定位问题。

如果问题依然存在,建议查阅Cassandra的官方社区、论坛或Jira issue跟踪系统,看看是否有其他用户遇到过类似问题以及他们的解决方案。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: