我试图通过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
cassandra版本:apache-cassandra-2.0.13
节点:1
我有另一个问题,为什么sstableloader总是问&#34; InvalidRequestException(为什么:没有这样的键空间:cassandra&#34; ......我认为应该使用&#34;引用&#34; ...... < / p>
答案 0 :(得分:0)
在使用sstableLoader加载之前,你应该已经在Cassandra中使用了键空间和表,你的sstableLocation也必须是这样的。
例如,如果您尝试加载到具有表“rocky”的密钥空间“rambo”,那么您的命令应该是
./ sstableloader -d host / Path / bulkload_data / rambo / rocky /
所以你的实际sstable必须位于名为“rocky”的目录中,该目录应位于“rambo”内(与键空间同名)