如何知道Cassandra中键空间和列族的大小?

时间:2014-11-19 08:11:51

标签: cassandra nodetool

最近,我开始使用cassandra的Java驱动程序(cassandra-driver-core-2.0.2)开发Grails与Cassandra的集成。 所以我很想知道我们如何知道我们的表在cassandra DB中存储数据的大小。

我创建了一个名为Customkeyspace的键空间和一个名为Movie的列族。 所以我很想知道我必须使用哪个工具/命令来知道密钥空间/列族的大小?

4 个答案:

答案 0 :(得分:21)

要获取有关Cassandra中列族的统计信息,您只需运行命令:

nodetool cfstats

它报告有关包含实时数据大小以及磁盘的表的统计信息。

有关Cassandra 2.1的此实用程序的文档可用here

答案 1 :(得分:2)

我创建了一个小脚本,用于在漂亮的表格中打印nodetool结果:

#!/bin/sh
nodetool cfstats -H | awk -F ' *: *' '
  BEGIN { print "Keyspace,Table,Live,Total" }
  /^Keyspace : / { ks = $2 }
  /\tTable:/ { t = $2 }
  /\tSpace used .live/ { sp = $2 }
  /\tSpace used .total/ { print ks "," t "," sp "," $2 }
' | column -s , -t

答案 2 :(得分:1)

要获得有关Cassandra中与键空间或表有关的列族的统计信息,只需运行以下命令即可:

nodetool cfstats

结果:这将返回与可用键空间相关的完整统计信息。

但是,如果要查找特定键空间或表的统计信息,请运行以下命令:

对于键空间nodetool cfstats <keyspace_name>nodetool cfstats -H <keyspace_name>

对于表格nodetool tablestats <keyspace_name>.<table_name>nodetool tablestats -H <keyspace_name>.<table_name>

注意: -H表示人类可读格式

有关更多详细信息,请参阅nodetool cfstats

发现:

  1. 您可能会看到SSTable count为0

  2. Space used (live)Space used (total)为0字节

要了解上述两个发现的原因,请参阅:Reason of why SSTable count shown as 0

答案 3 :(得分:0)

您可以基于旧版本和新版本的Cassandra使用以下命令。

nodetool cfstats nodetool tablestats

以上命令将为您提供有关键空间和表的大小详细信息。您也可以参考下面的链接以获取有关如何与不同选项一起使用的更多详细信息 https://docs.datastax.com/en/dse/6.7/dse-dev/datastax_enterprise/tools/nodetool/toolsTablestats.html