Cassandra SSTable工具详解

 

 

在安装目录 /bin 和 tools/bin 目录中有很多工具可以直接处理一个 Cassandra 节点文件系统中的SSTable 数据文件。 这些文件的扩展名为 .db。 

 

bin/sstableutil  keyspace1 standard1: 工具可以列出对应指定表明的 SSTable 文件。

bin/sstableverify keyspace1 standard1: 检验对应table的SSTable文件,找出存在错误或数据破坏的文件。

bin/sstablescrub  keyspace1 standard1: 可以更有效地从SSTable文件删除已破坏的数据。如果这个工具删除了已破坏的行,就需要运行一个修复。

 

bin/sstableloader: 如果拓扑,令牌区间或副本因子有任何变化,就需要使用loader工具加载数据。

tools/bin/sstablemetadata:

tools/bin/sstableexpiredblockers: 工具会找出阻止删除一个SSTable的阻塞SSTable,这个类会输出阻塞其他SSTable被删除的所有SSTable,是你能确定为什么给定的SSTable还在磁盘上。

tools/bin/sstablelevelreset: 工具将一组给定SSTable的级别重置为0,这就要求下一个合并操作中要合并这些SSTable。

sstableofflinerelevel: 工具使用LeveledCompactionStrategy 为表重新分配SSTable级别。如果很快地接受到大量数据(如批量导入),这就很有用

sstablesplit: 工具用来将SSTable文件划分为不超过指定最大大小的多个SSTable。如果一个主合并生成大量的表,这会很有用。否则这些表可能很长时间都无法合并。

 

在正常情况下,你可能不需要经常使用这些工具,不过它们对于调试和更好地理解Cassandra的数据存储如何工作很有帮助。Cassandra不再本地主机上运行时,必须运行修改SSTable的工具(如 sstablelevelreset、sstablerepairedset、sstablesplit、sstableofflinerelevel)

 

你可能感兴趣的:(Cassandra SSTable工具详解)