2013-10-03 247 views
0

我已經將大量數據插入到2個節點cassandra服務器中。術後第2天我發現,服務器與此錯誤下去,我不能想這個問題卡桑德拉的FSReadError

FSReadError in /var/lib/cassandra/data/system/hints/system-hints-jb-1090-Data.db 
     at org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:95) 
     at org.apache.cassandra.io.util.RandomAccessReader.seek(RandomAccessReader.java:280) 
     at org.apache.cassandra.io.util.PoolingSegmentedFile.getSegment(PoolingSegmentedFile.java:41) 
     at org.apache.cassandra.io.sstable.SSTableReader.getFileDataInput(SSTableReader.java:1163) 
     at org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.getNextBlock(IndexedSliceReader.java:362) 
     at org.apache.cassandra.db.columniterator.IndexedSliceReader$IndexedBlockFetcher.fetchMoreData(IndexedSliceReader.java:332) 
     at org.apache.cassandra.db.columniterator.IndexedSliceReader.computeNext(IndexedSliceReader.java:145) 
     at org.apache.cassandra.db.columniterator.IndexedSliceReader.computeNext(IndexedSliceReader.java:45) 
     at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) 
     at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) 
     at org.apache.cassandra.db.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82) 
     at org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:157) 
     at org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:140) 
     at org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:144) 
     at org.apache.cassandra.utils.MergeIterator$ManyToOne.<init>(MergeIterator.java:87) 
     at org.apache.cassandra.utils.MergeIterator.get(MergeIterator.java:46) 
     at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:120) 
     at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) 
     at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:72) 
     at org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:294) 
     at org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:53) 
     at org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1468) 
     at org.apache.cassandra.db.ColumnFamilyStore.getColumnFamily(ColumnFamilyStore.java:1294) 
     at org.apache.cassandra.db.HintedHandOffManager.doDeliverHintsToEndpoint(HintedHandOffManager.java:346) 
     at org.apache.cassandra.db.HintedHandOffManager.deliverHintsToEndpoint(HintedHandOffManager.java:304) 
     at org.apache.cassandra.db.HintedHandOffManager.access$300(HintedHandOffManager.java:92) 
     at org.apache.cassandra.db.HintedHandOffManager$4.run(HintedHandOffManager.java:525) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.nio.channels.ClosedChannelException 
     at sun.nio.ch.FileChannelImpl.ensureOpen(Unknown Source) 
     at sun.nio.ch.FileChannelImpl.position(Unknown Source) 
     at org.apache.cassandra.io.compress.CompressedRandomAccessReader.decompressChunk(CompressedRandomAccessReader.java:101) 
     at org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:87) 
     ... 29 more 

感謝anwser

回答

1

我的直覺:你有一個壞的磁盤或磁盤空間耗盡了。您可以通過在節點上運行一些磁盤檢查工具來確認嗎?

+1

我查過並沒有發現任何錯誤。我認爲這一定是一個隨機問題。這不是卡桑德拉的問題,但硬件或系統問題,謝謝! – nam