之前的文章《Cassandra自带工具》提到了nodetool的使用,不过当时讲得并不够深入。这篇文章针对监控方向进行一些更深入的介绍。
这个命令在之前的文章已经有所介绍。这个是最常用的命令,可以非常明了的看到整个集群的状态。
当你的集群节点不是非常大的时候,使用这个命令非常方便。
查看当前节点的简要信息。比较重要的信息有Load (负载), Uptime,Heap Memory。
这些信息大概表明了当前节点的一些运行状态。另外比较有意思的是Key cache. 可以看到,当前节点有762816条记录,命中了7642868次,处理了2.6KW 次请求等等。
之前叫做cfstats, 现在已经改名tablestats. 两者的作用完全等价。cf = column family, 可能列族一直不太好理解,还是table比较好理解,概念熟悉。
tablestats也是一个非常有用的统计结果,因为在这里就可以看到读延迟跟写延迟的信息。 并且从读跟写的数量上看,写的速度真的是远远大于读的速度。
从3.6或者3.0.10之后,tablestats又新增了一个新的参数: –format, 可以将结果导出成json或者yaml格式的文件。 可以参考: https://docs.datastax.com/en/cassandra/3.0/cassandra/tools/toolsTablestats.html
具体issue 过程: https://issues.apache.org/jira/browse/CASSANDRA-5977
所谓Compaction,是因为Cassandra会把需要删除的数据首先打一个tombstone(墓碑)的标志,在compaction的时候才真正的把数据从磁盘上面删除。楼主当前集群正好没有响应的任务在执行
与cfstats改名成tablestats类似,cfhistograms 也改名称 tablehistograms. 可以很直观的看到某个table的状态。
本文为原创文章,转载请注明 出处
原文链接:http://www.flyml.net/2017/01/04/cassandra-tutorial-monitor-with-nodetool/