В то время как Cassandra уплотнение Fatal исключение в потоке CompactionExecutor - PullRequest
1 голос
/ 19 декабря 2011
  1. У меня кластер Кассандры из 12 узлов на EC2, на котором запущена Кассандра-0.8.2. Во время уплотнения я получил следующее исключение, которое вызвало отключение узла Seed.

  2. Ниже приведена трассировка стека исключений.

ОШИБКА [CompactionExecutor: 31] 2011-12-16 08: 06: 02,308 AbstractCassandraDaemon.java (строка 139) Неустранимое исключение в потоке Тема [CompactionExecutor: 31,1, main] java.io.IOError: java.io.EOFException: EOF после 430959023 байтов из 778986868 в 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.ReducingIterator.computeNext (ReducingIterator.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.compaction.CompactionManager.doCompactionWithoutSizeEsvaluation (CompactionManager.java:569) в org.apache.cassandra.db.compaction.CompactionManager.doCompaction (CompactionManager.java:506) в org.apache.cassandra.db.compaction.CompactionManager $ 1.call (CompactionManager.java:141) в org.apache.cassandra.db.compaction.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) на java.lang.Thread.run (Thread.java:662) Вызвано: java.io.EOFException: EOF после 430959023 байтов из 778986868 в 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? если это так, то как удалить или восстановить эти sstables?

1 Ответ

2 голосов
/ 25 декабря 2011

Похоже, что это действительно вызвано поврежденными sstables (что может указывать на аппаратную проблему).Мои рекомендации:

  1. Обновите Cassandra до последней стабильной версии 0.8.x.Это будет заменой 0.8.2.
  2. . Запустите "scruit nodetool" на машине с проблемами
  3. Просмотр http://www.datastax.com/docs/1.0/install/cluster_init - я рекомендую два начальных узлацентр обработки данных, но помните, что к начальному узлу обращаются только при перезапуске узлов, так что нет ничего страшного в том, чтобы отключить его во время нормальной работы
...