【问题标题】:Cassandra Installation卡桑德拉安装
【发布时间】:2019-12-23 01:56:05
【问题描述】:
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

【问题讨论】:

  • 欢迎来到 Stack Overflow!未来参考 - 发布未格式化的错误日志是让某人帮助您的糟糕方式。首先提出一个实际问题,然后只发布日志的相关部分。
  • 还没有解决方案。我也遇到了完全相同的问题。但是,对于我来说,3.11.4 在 Windows 10 上开箱即用,一切都相同(Java、Python、OS、文件系统)

标签: cassandra


【解决方案1】:

回滚到版本 3.11.4 解决了这个问题。检查您是否已将 CASSANDRA_HOME 的环境变量编辑为指向版本 3.11.4。

【讨论】:

  • 谢谢,我也必须这样做——不仅要回滚到 3.11.4,还要记得将 CASSANDRA_HOME 也改回 3.11.4。
  • 我确实在 linux 上运行了 cassandra,但使用 CQLSSTableWriter 在我的 windows 开发机器上创建了 sstables。在 Windows 上降级到 3.11.4 就可以了。
【解决方案2】:

尝试将您的版本回滚到 3.11.4。正如CASSANDRA-15426 中所指出的,这应该有助于在修复发布之前解决此问题。

【讨论】:

  • 回滚到 3.11.4 对我没有帮助。
【解决方案3】:

这可能是 Windows 上的权限问题

1) 打开 Windows Power Shell
2)运行以下命令 powershell Set-ExecutionPolicy 无限制
3) 打开 Windows 命令提示符并执行 cassandra.bat

【讨论】:

  • 我用 apache-cassandra-3.11.4 版本测试了上述内容,对我来说效果很好
  • 这对我来说也适用于 apache-cassandra-3.11.4
【解决方案4】:

根据您的粘贴,尽管尝试阅读非常困难,但我认为您的问题是您有权限问题,或者 Cassandra 尝试写入的目录/文件夹不存在:

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

所以你需要检查一下: C:\apache-cassandra-3.11.5\data\data\system\local-7ad54392bcdd35a684174e047860b377

查看该目录是否存在,以及它是否可写(不需要是管理员或类似的东西)。我不是一个“windows”的人,所以这个问题的诊断会落在你的肩上。

希望这有助于开始。

-吉姆

【讨论】:

    【解决方案5】:

    这是有关此问题的 cassandra Jira 问题的链接 https://issues.apache.org/jira/browse/CASSANDRA-15426

    【讨论】:

    • 这是很好的信息,但您能解释一下这是如何回答问题的吗?
    • 该问题已在此处确认,如果有任何可用的修复程序,可以进行跟踪
    【解决方案6】:

    为了解决 OP 报告的这个问题,我做了以下几件事:

    1. 将 cassandra 版本降级为 3.11.4(我使用的是 python 2.7 和 apacheThrift 0.13)
    2. 将 CASSANDRA_HOME 更改为更新的文件夹名称
    3. 以管理员身份打开 cmd 行并启动 cassandra.bat

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-19
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      相关资源
      最近更新 更多