Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exception 而Cassandra压缩线程CompactionExecutor中存在致命异常_Exception_Cassandra_Cluster Computing_Eof_Cassandra 0.7 - Fatal编程技术网

Exception 而Cassandra压缩线程CompactionExecutor中存在致命异常

Exception 而Cassandra压缩线程CompactionExecutor中存在致命异常,exception,cassandra,cluster-computing,eof,cassandra-0.7,Exception,Cassandra,Cluster Computing,Eof,Cassandra 0.7,我在运行cassandra-0.8.2的EC2上有12个节点的cassandra集群。 在压缩过程中,我遇到了以下异常,导致种子节点宕机 下面是异常堆栈跟踪 错误[CompactionExecutor:31]2011-12-16 08:06:02308 AbstractCassandraDaemon.java(第139行)线程[CompactionExecutor:31,1,main]中出现致命异常 java.io.IOError:java.io.eofeexception:7789868中43

我在运行cassandra-0.8.2的EC2上有12个节点的cassandra集群。 在压缩过程中,我遇到了以下异常,导致种子节点宕机

  • 下面是异常堆栈跟踪

  • 错误[CompactionExecutor:31]2011-12-16 08:06:02308 AbstractCassandraDaemon.java(第139行)线程[CompactionExecutor:31,1,main]中出现致命异常 java.io.IOError:java.io.eofeexception:7789868中430959023字节后的EOF 位于org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:149) 位于org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:90) 位于org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:74) 位于org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:179) 位于org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:144) 位于org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:136) 位于org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:39) 位于org.apache.commons.collections.iterators.CollatingIterator.set(CollatingIterator.java:284) 位于org.apache.commons.collections.iterators.CollatingIterator.least(CollatingIterator.java:326) 位于org.apache.commons.collections.iterators.CollatingIterator.next(CollatingIterator.java:230) 位于org.apache.cassandra.utils.ReduceingIterator.computeNext(ReduceingIterator.java:69) 位于com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140) 位于com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135) 位于org.apache.commons.collections.iterators.FilterIterator.setNextObject(FilterIterator.java:183) 位于org.apache.commons.collections.iterators.FilterIterator.hasNext(FilterIterator.java:94) 在org.apache.cassandra.db.compression.CompactionManager.docompationwithoutsizeestimation上(CompactionManager.java:569) 位于org.apache.cassandra.db.compression.CompactionManager.doCompaction(CompactionManager.java:506) 位于org.apache.cassandra.db.compression.CompactionManager$1.call(CompactionManager.java:141) 位于org.apache.cassandra.db.compression.CompactionManager$1.call(CompactionManager.java:107) 位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 位于java.util.concurrent.FutureTask.run(FutureTask.java:138) 位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 运行(Thread.java:662) 原因:java.io.EOFException:EOF在778986868中的430959023字节之后 在org.apache.cassandra.io.util.FileUtils.skipBytesFully上(FileUtils.java:229) 位于org.apache.cassandra.io.sstable.IndexHelper.skipIndex(IndexHelper.java:63) 位于org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:141) ... 23多

    • 它说它是由以下原因引起的:java.io.EOFException:
    • 这是因为损坏的sstables吗? 如果是,那么如何移除或修复这些SST表

    看起来这确实是由损坏的SSTABLE(这可能表示硬件问题)引起的。我的建议:

  • 升级至Cassandra的最新稳定0.8.x版本。这将是0.8.2的替代品
  • 在有问题的机器上运行“nodetool scrub”
  • 回顾——我建议每个数据中心有两个种子节点,但请记住,只有在重新启动节点时才会咨询种子节点,所以在正常操作期间关闭一个种子节点并不是什么大问题