sstableloader Кассандры - java.lang.OutOfMemoryError

Я попытался использовать массовую загрузку с помощью sstableloader и после «www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated r» и «github.com/yukim/cassandra-bulkload-example/» .

но получил ошибку при использовании sstableloader для загрузки данных, как показано ниже:

command: ./sstableloader -d localhost --debug -v ../bulkload_data/

Established connection to initial hosts
Opening sstables and calculating sections to stream
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at org.apache.cassandra.utils.EstimatedHistogram$EstimatedHistogramSerializer.deserialize(EstimatedHistogram.java:335)
        at org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:463)
        at org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:448)
        at org.apache.cassandra.io.sstable.SSTableMetadata$SSTableMetadataSerializer.deserialize(SSTableMetadata.java:432)
        at org.apache.cassandra.io.sstable.SSTableReader.openMetadata(SSTableReader.java:225)
        at org.apache.cassandra.io.sstable.SSTableReader.openForBatch(SSTableReader.java:160)
        at org.apache.cassandra.io.sstable.SSTableLoader$1.accept(SSTableLoader.java:112)
        at java.io.File.list(File.java:1155)
        at org.apache.cassandra.io.sstable.SSTableLoader.openSSTables(SSTableLoader.java:73)
        at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:155)
        at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:94)

Я пытался изменить память, по https://support.datastax.com/entries/68215305-sstableloader-throws-out-of-memory-error, но все равно ошибка.

Данные:

ll bulkload_data/

total 328
-rw-rw-r--. 1 cassandra cassandra    163 Apr 22 17:10 quote-historical_prices-ka-1-CompressionInfo.db
-rw-rw-r--. 1 cassandra cassandra 303506 Apr 22 17:10 quote-historical_prices-ka-1-Data.db
-rw-rw-r--. 1 cassandra cassandra     10 Apr 22 17:10 quote-historical_prices-ka-1-Digest.sha1
-rw-rw-r--. 1 cassandra cassandra     16 Apr 22 17:10 quote-historical_prices-ka-1-Filter.db
-rw-rw-r--. 1 cassandra cassandra    940 Apr 22 17:10 quote-historical_prices-ka-1-Index.db
-rw-rw-r--. 1 cassandra cassandra   4454 Apr 22 17:10 quote-historical_prices-ka-1-Statistics.db
-rw-rw-r--. 1 cassandra cassandra     99 Apr 22 17:10 quote-historical_prices-ka-1-TOC.txt

OS:

             total       used       free     shared    buffers     cached
Mem:         23944      13936      10007          0        413       4930
-/+ buffers/cache:       8592      15351
Swap:        49999        543      49456

версия кассандры: apache-cassandra-2.0.13

узел: 1

и у меня есть еще один вопрос, почему sstableloader всегда спрашивает «InvalidRequestException (почему: Нет такого пространства ключей: cassandra»… Я думаю, что следует использовать «кавычки»…


person chio    schedule 22.04.2015    source источник
comment
Исправлено после обновления cassandra с apache-cassandra-2.0.13 до apache-cassandra-2.1.4. Но все еще не могу импортировать данные для правильного пространства ключей.   -  person chio    schedule 23.04.2015


Ответы (1)


У вас уже должно быть пространство ключей и таблица в Cassandra, прежде чем вы загрузите с помощью sstableLoader , также ваше sstableLocation должно быть таким.

например, если вы пытаетесь загрузить в пространство ключей «rambo», в котором есть таблица «rocky», ваша команда должна быть

./sstableloader -d host /Путь/bulkload_data/rambo/rocky/

поэтому ваш фактический sstable должен находиться в каталоге с именем «rocky», который должен находиться внутри «rambo» (то же имя, что и пространство ключей)

person root    schedule 05.02.2016