有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java由于磁盘空间不足,无法打开Cassandra

我设置了一个新的Cassandra并使用./cassandra打开它,但它失败了。在系统中。日志,它显示以下错误:

ERROR 13:30:31 Exception encountered during startup java.lang.RuntimeException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Insufficient disk space to write 542 bytes
    at org.apache.cassandra.db.ColumnFamilyStore.runWithCompactionsDisabled(ColumnFamilyStore.java:2888) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.db.ColumnFamilyStore.truncateBlocking(ColumnFamilyStore.java:2849) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.db.SystemKeyspace.discardCompactionsInProgress(SystemKeyspace.java:404) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:230) [apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:533) [apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:642) [apache-cassandra-2.2.10.jar:2.2.10] Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Insufficient disk space to write 542 bytes
    at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:394) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.db.SystemKeyspace.forceBlockingFlush(SystemKeyspace.java:593) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.db.SystemKeyspace.saveTruncationRecord(SystemKeyspace.java:432) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.db.ColumnFamilyStore$13.run(ColumnFamilyStore.java:2843) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_141]
    at org.apache.cassandra.db.ColumnFamilyStore.runWithCompactionsDisabled(ColumnFamilyStore.java:2884) ~[apache-cassandra-2.2.10.jar:2.2.10]           ... 5 common frames omitted Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Insufficient disk space to write 542 bytes
    at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299) ~[guava-16.0.jar:na]
    at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286) ~[guava-16.0.jar:na]
    at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116) ~[guava-16.0.jar:na]
    at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:390) ~[apache-cassandra-2.2.10.jar:2.2.10]           ... 10 common frames omitted Caused by: java.lang.RuntimeException: Insufficient disk space to write 542 bytes
    at org.apache.cassandra.db.Directories.getWriteableLocation(Directories.java:349) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.db.Memtable.flush(Memtable.java:324) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1187) ~[apache-cassandra-2.2.10.jar:2.2.10]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_141] 

命令“df-h”的输出:

root@srv-machine-learning01:/var/lib/cassandra# df -h

Filesystem                                   Size  Used Avail Use% Mounted on

/dev/xvda1                                        61G   60G     0 100% /

udev                                              10M     0   10M   0% /dev

tmpfs                                            2.4G  8.3M  2.4G   1% /run

tmpfs                                            5.9G     0  5.9G   0% 

/dev/shm

tmpfs                                            5.0M     0  5.0M   0% 

/run/lock

tmpfs                                            5.9G     0  5.9G   0% 

/sys/fs/cgroup

bak02.sovanta.com:/volume1/bak_machine_learning   70T   19T   52T  27% 

共 (2) 个答案

  1. # 1 楼答案

    看起来您的根文件系统已满

    /dev/xvda1 61G 60G 0 100% /

    由于Cassandra默认情况下将数据存储在/var/lib/Cassandra中,并且您还没有为该路径设置其他文件系统,因此它将使用您的根文件系统。我可以想出几个解决这个问题的办法

    • 释放根分区上的空间
    • 增加根文件系统的磁盘空间
    • 向系统中添加一个新磁盘,并创建一个新的文件系统,该文件系统将装载到/var/lib/cassandra
  2. # 2 楼答案

    转到mchine并手动删除未使用的cassandra模式