2015-04-22 3 views
0

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

но получил ошибку при использовании 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) 

Я попытался изменить память, accroding 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 

Cassandra версия: апач-Кассандры 2.0.13

узел: 1

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

+0

Исправлено после обновления cassandra от apache-cassandra-2.0.13 до apache-cassandra-2.1 +0,4. Но по-прежнему нельзя импортировать данные для исправления пространства ключей. – chio

ответ

0

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

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

./sstableloader -d хост/путь/bulkload_data/Рэмбо/каменистый/

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

Смежные вопросы