我怀疑我已经损坏了我的sstables表,因此当节点关闭时我正在运行sstableverify
实用程序。我收到了[GC overhead limit exceeded]
寻求帮助,如果这个问题可以解决或解决..提前感谢!
sstableverify -v enterprise ale_state_access_point
线程“main”中的异常java.lang.OutOfMemoryError:GC开销 超出限制 at java.util.Arrays.copyOf(Arrays.java:3332) at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:124) at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:649) 在java.lang.StringBuilder.append(StringBuilder.java:202) at org.apache.cassandra.io.sstable.Descriptor.filenameFor(Descriptor.java:170) 在org.apache.cassandra.io.sstable.Descriptor.filenameFor(Descriptor.java:125) 在org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:709) 在org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:672) 在org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:466) 在org.apache.cassandra.io.sstable.format.SSTableReader.openNoValidation(SSTableReader.java:377) 在org.apache.cassandra.tools.StandaloneVerifier.main(StandaloneVerifier.java:89) 错误20:33:15泄漏检测:参考 (org.apache.cassandra.utils.concurrent.Ref$State@6d42f926)上课 org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier@1047072254:/卡桑德拉/数据/企业/ ale_state_access_point-ae4c50d0d67a11e696b25735df805631 / LB-79600-大 在引用被垃圾收集之前没有发布ERROR 20:33:15泄漏检测:参考 (org.apache.cassandra.utils.concurrent.Ref$State@69f4a15d)上课 org.apache.cassandra.io.sstable.format.SSTableReader$InstanceTidier@1968390106:/卡桑德拉/数据/企业/ ale_state_access_point-ae4c50d0d67a11e696b25735df805631 / LB-58267-大 在引用被垃圾收集之前没有被释放
答案 0 :(得分:1)
我猜你有很多sstables,因为它没有构建描述符。如果系统上有内存,请尝试增加堆(默认为256mb):
MAX_HEAP_SIZE=4G sstableverify -v enterprise ale_state_access_point
答案 1 :(得分:0)
如果你篡改了sstables并打破了他们,你可以做的事情太多了。当节点尝试加载表时也会发生这种情况。我建议从备份恢复或擦洗表格。