2017-08-09 137 views
0

我設置了一個新的Cassandra並使用./cassandra來打開它,但失敗。在system.log中,它顯示以下錯誤:由於磁盤空間不足,我無法打開Cassandra

錯誤13:30:31在啓動過程中遇到異常java.lang.RuntimeException:java.lang.RuntimeException:java.util.concurrent.ExecutionException:java.lang。 RuntimeException:磁盤空間不足,無法寫入542個字節 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]原因:java.lang.RuntimeException:java.util。 concurrent.ExecutionException:java.lang.RuntimeException:磁盤空間不足,無法寫入542個字節 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.a pache.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個常用框架引起:java.util.concurrent.ExecutionException:java.lang.RuntimeException:要寫入的磁盤空間不足542個字節 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] 在org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:390)〜[apache-cassandra-2.2.10.jar:2.2.10] ... 10個常見的框架遺漏由...引發:java.lang。 RuntimeException:在org.apache.cassandra.db.Directories.getWriteableLocation(Directories.java:349)〜[apache-cassandra-2.2.10.jar:2.2.10] 處寫入542字節的磁盤空間不足.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」 的輸出:

根@ SRV-機器learning01:在/ var/lib中/卡桑德拉#DF -h

文件系統大小用可用已用%安裝在

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

的udev 10M 0 10M 0%的/ dev

TMPFS 2.4G 8.3M 2.4G 1%/運行

tmpfs的5.9G 0 5.9G 0%

的/ dev/SHM

tmpfs的5.0M 0 5.0M 0%

/運行/鎖定

tmpfs的5.9G 0 5.9G 0%

/SYS/FS/cgroup中

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

+0

你使用哪個操作系統?驅動器上有多少可用空間?數據目錄的權限設置是否正確? – Mandraenke

+0

linux 3.16.0-4-amd64,Cassandra的存儲空間足夠大。你的權限是什麼意思?因爲我使用了Cassandra的二進制版本,所以我認爲數據將默認存儲在cassandra/data目錄中,我沒有設置var/lib/data目錄。 – Oak

+1

什麼輸出的'df'和你的'data_file_directories'設置在cassandra.yaml –

回答

1

看起來您的根文件系統已滿。

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

由於默認情況下在/ var/lib中/卡桑德拉卡桑德拉存儲數據,並且您還沒有設置不同的文件系統中使用此路徑,它將使用你的根文件系統。我可以爲這個問題想出幾個解決方案。在根分區

  • 釋放空間
  • 增加磁盤空間,爲您的根文件系統
  • 添加一個新的硬盤,將系統並創建一個新的文件系統,其安裝到/ var/lib中/卡桑德拉
0

轉到mchine並手動刪除未使用的cassandra模式。

相關問題