最近,我开始使用cassandra的Java驱动程序(cassandra-driver-core-2.0.2)开发Grails与Cassandra的集成。 所以我很想知道我们如何知道我们的表在cassandra DB中存储数据的大小。
我创建了一个名为Customkeyspace的键空间和一个名为Movie的列族。 所以我很想知道我必须使用哪个工具/命令来知道密钥空间/列族的大小?
答案 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
发现:
您可能会看到SSTable count
为0
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