【发布时间】:2015-08-21 05:56:35
【问题描述】:
在一个六节点 Cassandra 集群 [复制因子 2] 上,我们注意到一个节点被热点 [heavy load]。在查看 tpstats 时,我可以看到 Flush writer 和 Replicate on write stage 的任务一直被阻塞。
我们只有一个数据目录[因此将cassandra配置为只使用一个flushwriter]并且memtable flush的队列大小为2
Heavily Loaded Node
Replicate-on-write-stage 32 4128 599249 48 371304
Flush-writer 0 0 85 0 24
Normal Node:
ReplicateOnWriteStage 0 0 753665 0 0
FlushWriter 0 0 137 0 25
所有节点的配置完全相同,我们使用Murmur Partitioner。
我是否可以参考其他一些统计数据,以跟踪 CPU 负载问题并在单个节点上阻塞的写入阶段进行复制?
tpstats 中的这些计数器是历史计数器还是每 N 分钟刷新一次?
来自here 提到,block 可能是因为 IO 没有保持或巨大的行和排序[这增加了 cpu 负载]。后者可能是整个集群中一个节点负载异常的原因吗?
【问题讨论】:
-
确切地说,不能单独使用 tpstats 为您获取解决方案。发生这种情况时你能得到 netstats 和 compactionstats 吗?此外,你是否经常看到任何 CF 刷新?
标签: cassandra cassandra-2.0 nodetool