2015-04-22 58 views
0

我试着使用sstableloader的批量加载,并且在“www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated r”和“ github.com/yukim/cassandra-bulkload-example/”。cassandra的sstableloader - 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 

卡桑德拉版本:Apache的卡桑德拉-2.0.13

节点:1

,我有一个问题,为什么sstableloader总是询问“InvalidRequestException(为什么:没有这样的keyspace:cassandra”......我认为应该使用它“报价”...

+0

修复cassandra从apache-cassandra-2.0.13到apache-cassandra-2.1 0.4。但仍然无法将数据导入到正确的keyspace中。 – chio

回答

0

在加载使用sstableLoader之前,您应该拥有Cassandra中的密钥空间和表,您的sstableLocation也必须如此。

例如,如果你要加载到具有表“洛奇”密钥大小“第一滴血”,那么你的命令应该是

./sstableloader -d主机/路径/ bulkload_data /朗博/岩石/

所以你的实际sstable必须在名为“rocky”的目录里,这个目录应该在“rambo”里面(与keyspace同名)

相关问题