简体   繁体   English

cassandra的sstableloader-java.lang.OutOfMemoryError

[英]sstableloader of cassandra - java.lang.OutOfMemoryError

I tried to use bulk load by sstableloader, and following "www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated r" and "github.com/yukim/cassandra-bulkload-example/". 我尝试通过sstableloader使用大容量加载,并遵循“ www.datastax.com/dev/blog/using-the-cassandra-bulk-loader-updated r”和“ github.com/yukim/cassandra-bulkload-example/” 。

but got error when use sstableloader to load data, as below: 但是使用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)

I've tried to change the memory, accroding https://support.datastax.com/entries/68215305-sstableloader-throws-out-of-memory-error , but still error. 我试图更改内存,出现了https://support.datastax.com/entries/68215305-sstableloader-throws-out-of-memory-error ,但仍然出错。

Data: 数据:

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 version: apache-cassandra-2.0.13 cassandra版本:apache-cassandra-2.0.13

node: 1 节点:1

and I have another question, why sstableloader always asking "InvalidRequestException(why:No such keyspace: cassandra"...I think it should be use "quote"... 我还有另一个问题,为什么sstableloader总是问“ InvalidRequestException(为什么:没有这样的键空间:cassandra” ...我认为应该使用“ quote” ...

You should have the keyspace and table already in Cassandra before you load using sstableLoader , also your sstableLocation must be like this. 在使用sstableLoader进行加载之前,您应该已经在Cassandra中拥有键空间和表,而且sstableLocation必须像这样。

eg if you are trying to load to a keyspace "rambo" which has table "rocky", then your command should be 例如,如果您尝试加载到具有表“ rocky”的键空间“ rambo”,则您的命令应为

./sstableloader -d host /Path/bulkload_data/rambo/rocky/ ./sstableloader -d主机/ Path / bulkload_data / rambo / rocky /

so your actual sstable must be in directory named "rocky" which should be inside the "rambo"(same name as keyspace) 因此您的实际sstable必须位于名为“ rocky”的目录中,该目录应位于“ rambo”内部(与键空间相同的名称)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM