Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra集群中节点的堆大小_Cassandra - Fatal编程技术网

Cassandra集群中节点的堆大小

Cassandra集群中节点的堆大小,cassandra,Cassandra,我有一个cassandra设置,带有6节点环形单DC,RF:6,读取:CL:1。现在,如果一个特定的节点收到很多请求,这些请求又会传递给所有的节点(导致RF),那么它会使用CMS进行压缩,最后使用ParNew进行压缩,其中整个环处于挂起状态,从而使其变得非常不可用。我发现,我们只能通过增加堆大小或调整cassandra代码来解决这个问题,以便只从本地节点读取数据(因为RF:6将保证每个节点具有相同的数据,尽管修复等必须单独处理) 如何计算Cassandra节点的堆大小(我有两个键空间,除了系统C

我有一个cassandra设置,带有6节点环形单DC,RF:6,读取:CL:1。现在,如果一个特定的节点收到很多请求,这些请求又会传递给所有的节点(导致RF),那么它会使用CMS进行压缩,最后使用ParNew进行压缩,其中整个环处于挂起状态,从而使其变得非常不可用。我发现,我们只能通过增加堆大小或调整cassandra代码来解决这个问题,以便只从本地节点读取数据(因为RF:6将保证每个节点具有相同的数据,尽管修复等必须单独处理)


如何计算Cassandra节点的堆大小(我有两个键空间,除了系统CF之外总共有14个CF)。根据Cassandra wiki,这应该是堆大小至少:
memtable\u throughput\u in_mb*3*热CFs的数量+1G+内部缓存
其中memtable\u throughput\u in_mb=128mb用于我的设置。特定CF的最大行大小在这里应该很重要。我没有使用任何行或键缓存。有人能给我同样的建议吗。

为什么要使用6的复制系数?如果使用RF 3和仲裁读写,我预计集群上的总负载会下降。今天我在生产中再次遇到同样的问题。我们使用RF:6和CL:1,RF:3和Quorum read-write将如何使其更好。当时共享cfstats会有帮助。我们有flush_magnize_memtables_At:0.75和类似的默认设置。但是,我们没有使用任何connectionpool与cassandra:节约,而且我有时可以看到很多Close_wait连接。这会是Rooot的原因吗..另外,您当前运行的堆大小是多少,以及堆有多满?使用
nodetool info
获取这些统计信息。