[Cassandra教程](十五)使用nodetool 进行监控之初步使用

2017年01月04日 32913点热度 9人点赞 1条评论

之前的文章《Cassandra自带工具》提到了nodetool的使用,不过当时讲得并不够深入。这篇文章针对监控方向进行一些更深入的介绍。

同时,如果你正好跟我一样没法切换到Enterprise Edition,用好nodetool成为做好Cassandra监控的第一步。

 

nodetool status

这个命令在之前的文章已经有所介绍。这个是最常用的命令,可以非常明了的看到整个集群的状态。

当你的集群节点不是非常大的时候,使用这个命令非常方便。

 

nodetool info

查看当前节点的简要信息。比较重要的信息有Load (负载), Uptime,Heap Memory。
这些信息大概表明了当前节点的一些运行状态。另外比较有意思的是Key cache. 可以看到,当前节点有762816条记录,命中了7642868次,处理了2.6KW 次请求等等。

 

nodetool cfstats / tablestats

之前叫做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

 

nodetool compactionstats

所谓Compaction,是因为Cassandra会把需要删除的数据首先打一个tombstone(墓碑)的标志,在compaction的时候才真正的把数据从磁盘上面删除。楼主当前集群正好没有响应的任务在执行

 

nodetool tablehistograms / cfhistograms

与cfstats改名成tablestats类似,cfhistograms 也改名称 tablehistograms. 可以很直观的看到某个table的状态。

 

 

本文为原创文章,转载请注明出处
原文链接:http://www.flyml.net/2017/01/04/cassandra-tutorial-monitor-with-nodetool/

RangerWolf

保持饥渴的专注,追求最佳的品质

文章评论