Nosql 不能启动卡桑德拉

Nosql 不能启动卡桑德拉,nosql,cassandra,bigdata,cassandra-cli,Nosql,Cassandra,Bigdata,Cassandra Cli,我使用卡桑德拉有问题。尝试cassandra/bin cassandra-f时出现以下异常: INFO 10:50:18,090 reading saved cache /var/lib/cassandra/saved_caches/system-schema_columns-KeyCache-b.db java.lang.OutOfMemoryError: Requested array size exceeds VM limit Dumping heap to java_pid7545.hp

我使用卡桑德拉有问题。尝试cassandra/bin cassandra-f时出现以下异常:

INFO 10:50:18,090 reading saved cache /var/lib/cassandra/saved_caches/system-schema_columns-KeyCache-b.db
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
Dumping heap to java_pid7545.hprof ...
Heap dump file created [105901433 bytes in 0.574 secs]
ERROR 10:50:18,668 Exception encountered during startup
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:394)
at org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:355)
at org.apache.cassandra.service.CacheService$KeyCacheSerializer.deserialize(CacheService.java:352)
at org.apache.cassandra.cache.AutoSavingCache.loadSaved(AutoSavingCache.java:119)
at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:267)
at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:411)
at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:383)
at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:314)
at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:268)
at org.apache.cassandra.db.Keyspace.open(Keyspace.java:110)
at org.apache.cassandra.db.Keyspace.open(Keyspace.java:88)
at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:474)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:226)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:442)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:485)
java.lang.OutOfMemoryError: Requested array size exceeds VM limit
at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:394)
at org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:355)
at org.apache.cassandra.service.CacheService$KeyCacheSerializer.deserialize(CacheService.java:352)
at org.apache.cassandra.cache.AutoSavingCache.loadSaved(AutoSavingCache.java:119)
at org.apache.cassandra.db.ColumnFamilyStore.<init>(ColumnFamilyStore.java:267)
at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:411)
at org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:383)
at org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:314)
at org.apache.cassandra.db.Keyspace.<init>(Keyspace.java:268)
at org.apache.cassandra.db.Keyspace.open(Keyspace.java:110)
at org.apache.cassandra.db.Keyspace.open(Keyspace.java:88)
at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:474)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:226)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:442)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:485)
Exception encountered during startup: Requested array size exceeds VM limit
INFO 10:50:18090读取保存的缓存/var/lib/cassandra/saved_caches/system-schema_columns-KeyCache-b.db
java.lang.OutOfMemoryError:请求的数组大小超过VM限制
正在将堆转储到java_pid7545.hprof。。。
已创建堆转储文件[0.574秒内105901433字节]
错误10:50:18668启动期间遇到异常
java.lang.OutOfMemoryError:请求的数组大小超过VM限制
位于org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:394)
位于org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:355)
在org.apache.cassandra.service.CacheService$KeyCacheSerializer.deserialize(CacheService.java:352)上
位于org.apache.cassandra.cache.AutoSavingCache.loadSaved(AutoSavingCache.java:119)
位于org.apache.cassandra.db.ColumnFamilyStore(ColumnFamilyStore.java:267)
在org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:411)上
在org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:383)上
位于org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:314)
位于org.apache.cassandra.db.Keyspace(Keyspace.java:268)
位于org.apache.cassandra.db.Keyspace.open(Keyspace.java:110)
位于org.apache.cassandra.db.Keyspace.open(Keyspace.java:88)
位于org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:474)
位于org.apache.cassandra.service.cassandrademon.setup(cassandrademon.java:226)
位于org.apache.cassandra.service.cassandrademon.activate(cassandrademon.java:442)
位于org.apache.cassandra.service.cassandrademon.main(cassandrademon.java:485)
java.lang.OutOfMemoryError:请求的数组大小超过VM限制
位于org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:394)
位于org.apache.cassandra.utils.ByteBufferUtil.readWithLength(ByteBufferUtil.java:355)
在org.apache.cassandra.service.CacheService$KeyCacheSerializer.deserialize(CacheService.java:352)上
位于org.apache.cassandra.cache.AutoSavingCache.loadSaved(AutoSavingCache.java:119)
位于org.apache.cassandra.db.ColumnFamilyStore(ColumnFamilyStore.java:267)
在org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:411)上
在org.apache.cassandra.db.ColumnFamilyStore.createColumnFamilyStore(ColumnFamilyStore.java:383)上
位于org.apache.cassandra.db.Keyspace.initCf(Keyspace.java:314)
位于org.apache.cassandra.db.Keyspace(Keyspace.java:268)
位于org.apache.cassandra.db.Keyspace.open(Keyspace.java:110)
位于org.apache.cassandra.db.Keyspace.open(Keyspace.java:88)
位于org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:474)
位于org.apache.cassandra.service.cassandrademon.setup(cassandrademon.java:226)
位于org.apache.cassandra.service.cassandrademon.activate(cassandrademon.java:442)
位于org.apache.cassandra.service.cassandrademon.main(cassandrademon.java:485)
启动期间遇到异常:请求的数组大小超过VM限制
卡桑德拉2.0 ubuntu 12.04


提前感谢您帮助解决此问题。

您需要减小cassandra.yaml中密钥缓存的大小。但要重新开始,只需:

rm -rf /var/lib/cassandra/saved_caches/*

您需要减小cassandra.yaml中密钥缓存的大小。但要重新开始,只需:

rm -rf /var/lib/cassandra/saved_caches/*

增加cassandra环境文件中的VM内存配置


它位于cassandra“conf/cassandra env.sh”的conf文件夹中

增加cassandra环境文件中的VM内存配置


它存在于cassandra“conf/cassandra env.sh”的conf文件夹中。

您正在使用的机器有多少内存,cassandra是否在VM中运行,您的堆大小/permgen大小是多少,这是您第一次启动cassandra时产生的错误,或者它是在C*运行了一段时间后出现的,你重新启动了吗?@LyubenTodorov我的机器配置是ram 4GB,ubuntu 12.04,jdk 7,cassandra 2.0,重新启动Cassandrah时出错你使用的机器有多少内存,cassandra在虚拟机中运行,你的堆大小/permgen大小是多少,这个错误是第一次启动cassandra时产生的,还是在C*运行了一段时间后重新启动时出现的?@LyubenTodorov我的机器配置是ram 4GB、ubuntu 12.04、jdk 7、cassandra 2.0,重新启动cassandra时出现错误