cassandra:查询特定节点上的数据

aiazj4mn  于 2021-06-10  发布在  Cassandra
关注(0)|答案(3)|浏览(549)

出于教学目的,我想深入了解cassandra集群的复制策略。因此,我想查询特定cassandra节点中的数据。我没找到办法吗?你们中有人知道怎么做吗?

inkz8wg9

inkz8wg91#

要了解来自哪个节点的数据,我认为您需要在cqlsh上启用跟踪。cqlsh>tracing on一旦启用跟踪,如果运行任何查询,您将获得跟踪详细信息和信息。有关更多详细信息,请参阅下面的链接。https://docs.datastax.com/en/dse/5.1/cql/cql/cql_reference/cqlsh_commands/cqlshtracing.html
以上内容基于复制和一致性级别。

pxy2qtax

pxy2qtax2#

如果找到要查询的集群中的数据所在位置,通过cqlsh等工具登录到该节点,然后将一致性设置为local\ one,则应该只能从本地节点获取数据。如果您想证明这一点,请在运行查询之前启用跟踪。它将告诉您从何处提取数据(您还可以偶然获得一些读取修复案例(这也将显示其他节点)。如果你这样做了,忽略那次跑步,然后再做一次)。

ibrsph3r

ibrsph3r3#

你可以用https://github.com/tolbertam/sstable-tools 在单个sstable上使用cqlsh接口进行查询,无需经过cassandra;这方面有一个很好的例子https://github.com/tolbertam/sstable-tools#cqlsh. 您可以从那里获得存储在该sstable上的密钥列表,然后可以运行常规的cqlsh并启用跟踪,如另一个答案中所述,并查看它是否将转到该服务器或其他服务器。
或者您可以停止除一台服务器以外的所有服务器,并尝试使用本地服务器对其运行查询。

相关问题