Cassandra在启动时抛出OutOfMemory错误

时间:2017-09-02 14:16:53

标签: cassandra cassandra-3.0

我有一个cassandra节点刚刚用OOM死了。它只持续了几分钟。我在16GB的盒子上将最小/最大堆大小设置为8GB。

鉴于建议不要将JVM堆设置为超过8GB,我不愿意解决问题'随着这一点的增加。

任何人都知道这里会发生什么?不幸的是,我没有得到堆转储,虽然我会尝试重新制作并获得一个。

ERROR [SharedPool-Worker-1] 2017-09-02 10:39:30,762 JVMStabilityInspector.java:137 - JVM state determined to be unstable.  Exiting forcefully due to:
java.lang.OutOfMemoryError: Java heap space
    at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57) ~[na:1.8.0_91]
    at java.nio.ByteBuffer.allocate(ByteBuffer.java:335) ~[na:1.8.0_91]
    at org.apache.cassandra.io.util.DataOutputBuffer.reallocate(DataOutputBuffer.java:126) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.io.util.DataOutputBuffer.doFlush(DataOutputBuffer.java:86) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.write(BufferedDataOutputStreamPlus.java:132) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.write(BufferedDataOutputStreamPlus.java:151) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.utils.ByteBufferUtil.writeWithVIntLength(ByteBufferUtil.java:296) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.marshal.AbstractType.writeValue(AbstractType.java:397) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.rows.Cell$Serializer.serialize(Cell.java:208) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:203) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:126) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:114) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:134) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:89) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:79) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:294) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:134) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:127) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.ReadResponse$LocalDataResponse.<init>(ReadResponse.java:123) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:65) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:292) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1799) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2466) ~[apache-cassandra-3.6.jar:3.6]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_91]
    at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$FutureTask.run(AbstractLocalAwareExecutorService.java:164) ~[apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.concurrent.AbstractLocalAwareExecutorService$LocalSessionFutureTask.run(AbstractLocalAwareExecutorService.java:136) [apache-cassandra-3.6.jar:3.6]
    at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) [apache-cassandra-3.6.jar:3.6]
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91]

更新

不幸的是,我永远无法复制这个。我有点怀疑它与环境有关。我们在一个性能很差的SAN上运行我们的Cassandra实例,我怀疑它不能足够快地冲到磁盘上。总猜测。

0 个答案:

没有答案