我有一台运行Cassandra的128 Gb RAM的机器。
以下是我使用CQL 3创建键空间和列族的方法:
CREATE KEYSPACE IF NOT EXISTS Identification
WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy',
'DC1' : 1 };
CREATE TABLE IF NOT EXISTS entitylookup (
name varchar,
value varchar,
entity_id uuid,
PRIMARY KEY (name, value, entity_id))
WITH
caching=all
;
我已设置row_cache_size_in_mb=1000
,但rowcache除了占用堆外1 Gb外。
我已离开row_cache_save_period=0
但未设置memory_allocator
。
我启动了Cassandra并开始在其上运行我的应用程序。运行一段时间后,即使我的整个键空间小于10 Gb,所有128 Gb的机器RAM都已分配,cassandra也会停止。
如果我设置row_cache_save_period=0
,我在机器RAM中分配的不超过10Gb,问题就不会发生。
我正在使用Cassandra 2.0.7,配置中的几乎所有内容都使用默认值,但listen_address,rpc_address除外。
这可能是个错误吗?或者我做错了什么?