Как исправить ошибку 'Failed to list files in' при использовании Cassandra sstableloader? - PullRequest
0 голосов
/ 11 января 2019

Я пытаюсь выполнить массовую загрузку файлов SSTable с помощью sstableloader в один экземпляр узла на моей локальной машине. Файлы находятся в папке на том же компьютере, который я скопировал с другого сервера. Следовал документации, представленной здесь https://docs.datastax.com/en/archived/cassandra/2.1/cassandra/tools/toolsBulkloader_t.html

Однако при запуске команды sstableloader произошла ошибка «Не удалось составить список файлов».

Я заново создал соответствующее пространство ключей (время выполнения) и таблицу (журнал) с информацией о схеме из system_schema / columns-xxx /, чтобы убедиться, что у меня совпадают путь к ключу и таблице.

sstableloader -d localhost /crs1/backups/runtime/journal-769eb550158f11e9b36dafc206bf4fcf

Established connection to initial hosts
Opening sstables and calculating sections to stream
Failed to list files in /crs1/backups/runtime/journal-769eb550158f11e9b36dafc206bf4fcf
java.lang.IndexOutOfBoundsException: index (4) must be less than size (3)
java.lang.RuntimeException: Failed to list files in /crs1/backups/runtime/journal-769eb550158f11e9b36dafc206bf4fcf
    at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:77)
    at org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:561)
    at org.apache.cassandra.io.sstable.SSTableLoader.openSSTables(SSTableLoader.java:76)
    at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:165)
    at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:80)
    at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:48)
Caused by: java.lang.IndexOutOfBoundsException: index (4) must be less than size (3)
    at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:310)
    at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:292)
    at com.google.common.collect.RegularImmutableList.get(RegularImmutableList.java:65)
    at org.apache.cassandra.db.ClusteringPrefix$Serializer.deserializeValuesWithoutSize(ClusteringPrefix.java:359)
    at org.apache.cassandra.db.ClusteringBoundOrBoundary$Serializer.deserializeValues(ClusteringBoundOrBoundary.java:179)
    at org.apache.cassandra.db.ClusteringPrefix$Serializer.deserialize(ClusteringPrefix.java:287)
    at org.apache.cassandra.db.Serializers$NewFormatSerializer.deserialize(Serializers.java:175)
    at org.apache.cassandra.db.Serializers$NewFormatSerializer.deserialize(Serializers.java:151)
    at org.apache.cassandra.io.sstable.IndexInfo$Serializer.deserialize(IndexInfo.java:134)
    at org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>(RowIndexEntry.java:623)
    at org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>(RowIndexEntry.java:577)
    at org.apache.cassandra.db.RowIndexEntry$Serializer.deserialize(RowIndexEntry.java:340)
    at org.apache.cassandra.io.sstable.format.big.BigTableReader.getPosition(BigTableReader.java:242)
    at org.apache.cassandra.io.sstable.format.SSTableReader.getPosition(SSTableReader.java:1586)
    at org.apache.cassandra.io.sstable.format.SSTableReader.getPosition(SSTableReader.java:1574)
    at org.apache.cassandra.io.sstable.format.SSTableReader.getPositionsForRanges(SSTableReader.java:1506)
    at org.apache.cassandra.io.sstable.SSTableLoader.lambda$openSSTables$0(SSTableLoader.java:131)
    at org.apache.cassandra.db.lifecycle.LogAwareFileLister.lambda$innerList$2(LogAwareFileLister.java:99)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
    at java.util.TreeMap$EntrySpliterator.forEachRemaining(TreeMap.java:2969)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at org.apache.cassandra.db.lifecycle.LogAwareFileLister.innerList(LogAwareFileLister.java:101)
    at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:73)
    ... 5 more
Exception in thread "main" org.apache.cassandra.tools.BulkLoadException: java.lang.RuntimeException: Failed to list files in /crs1/backups/runtime/journal-769eb550158f11e9b36dafc206bf4fcf
    at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:93)
    at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:48)
Caused by: java.lang.RuntimeException: Failed to list files in /crs1/backups/runtime/journal-769eb550158f11e9b36dafc206bf4fcf
    at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:77)
    at org.apache.cassandra.db.lifecycle.LifecycleTransaction.getFiles(LifecycleTransaction.java:561)
    at org.apache.cassandra.io.sstable.SSTableLoader.openSSTables(SSTableLoader.java:76)
    at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:165)
    at org.apache.cassandra.tools.BulkLoader.load(BulkLoader.java:80)
    ... 1 more
Caused by: java.lang.IndexOutOfBoundsException: index (4) must be less than size (3)
    at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:310)
    at com.google.common.base.Preconditions.checkElementIndex(Preconditions.java:292)
    at com.google.common.collect.RegularImmutableList.get(RegularImmutableList.java:65)
    at org.apache.cassandra.db.ClusteringPrefix$Serializer.deserializeValuesWithoutSize(ClusteringPrefix.java:359)
    at org.apache.cassandra.db.ClusteringBoundOrBoundary$Serializer.deserializeValues(ClusteringBoundOrBoundary.java:179)
    at org.apache.cassandra.db.ClusteringPrefix$Serializer.deserialize(ClusteringPrefix.java:287)
    at org.apache.cassandra.db.Serializers$NewFormatSerializer.deserialize(Serializers.java:175)
    at org.apache.cassandra.db.Serializers$NewFormatSerializer.deserialize(Serializers.java:151)
    at org.apache.cassandra.io.sstable.IndexInfo$Serializer.deserialize(IndexInfo.java:134)
    at org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>(RowIndexEntry.java:623)
    at org.apache.cassandra.db.RowIndexEntry$IndexedEntry.<init>(RowIndexEntry.java:577)
    at org.apache.cassandra.db.RowIndexEntry$Serializer.deserialize(RowIndexEntry.java:340)
    at org.apache.cassandra.io.sstable.format.big.BigTableReader.getPosition(BigTableReader.java:242)
    at org.apache.cassandra.io.sstable.format.SSTableReader.getPosition(SSTableReader.java:1586)
    at org.apache.cassandra.io.sstable.format.SSTableReader.getPosition(SSTableReader.java:1574)
    at org.apache.cassandra.io.sstable.format.SSTableReader.getPositionsForRanges(SSTableReader.java:1506)
    at org.apache.cassandra.io.sstable.SSTableLoader.lambda$openSSTables$0(SSTableLoader.java:131)
    at org.apache.cassandra.db.lifecycle.LogAwareFileLister.lambda$innerList$2(LogAwareFileLister.java:99)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
    at java.util.TreeMap$EntrySpliterator.forEachRemaining(TreeMap.java:2969)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    at org.apache.cassandra.db.lifecycle.LogAwareFileLister.innerList(LogAwareFileLister.java:101)
    at org.apache.cassandra.db.lifecycle.LogAwareFileLister.list(LogAwareFileLister.java:73)
    ... 5 more
...