【问题标题】:sstableloader of cassandra - java.lang.OutOfMemoryErrorcassandra 的 sstableloader - java.lang.OutOfMemoryError
【发布时间】:2015-06-29 23:08:10
【问题描述】:

我尝试通过 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)

我尝试更改内存,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

操作系统:

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

cassandra 版本:apache-cassandra-2.0.13

节点:1

我还有一个问题,为什么 sstableloader 总是问“InvalidRequestException(why:No such keyspace: cassandra”...我认为应该使用“quote”...

【问题讨论】:

  • 在将 cassandra 从 apache-cassandra-2.0.13 升级到 apache-cassandra-2.1.4 后修复它。但仍然无法导入数据以更正键空间..

标签: cassandra bulkloader bulk-load


【解决方案1】:

在使用 sstableLoader 加载之前,您应该已经在 Cassandra 中拥有键空间和表,而且您的 sstableLocation 必须是这样的。

例如,如果您尝试加载到具有表“rocky”的键空间“rambo”,那么您的命令应该是

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

因此您的实际 sstable 必须位于名为“rocky”的目录中,该目录应位于“rambo”内(与键空间同名)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2018-05-12
    • 2016-03-25
    • 2011-10-13
    • 2015-08-27
    相关资源
    最近更新 更多