Cassandra 将数据存储在哪个节点上?

2023-11-30

是否有命令或任何方式可以知道哪些数据存储在 Cassandra 的哪些节点上?

我对 Cassandra 还很陌生,在谷歌上搜索这个问题的运气不佳。

Thanks!


您可以让 Cassandra 告诉您特定键所在的节点节点工具获取端点.

$ nodetool getendpoints mykeyspace tbl '8546200'
192.168.73.188
192.168.73.190

我不知道这是否是您要寻找的。 AFAIK 没有办法直接查询表或键空间中所有行的负责节点。但正如布莱克指出的那样,您的应用程序实际上不需要担心这一点。

如果你真的想知道,你可以使用以下命令查询你的表token在您的分区键上运行。这是使用 Blake 模式的示例:

SELECT token(partition_key),partition_key FROM tbl;

这将列出带有分区键的哈希令牌。然后你可以运行nodetool ring列出每个节点的令牌范围,并查看哪些节点负责该范围。请注意,如果您使用 vNode,您的输出将非常大(默认情况下,每个 vNode 256 行)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cassandra 将数据存储在哪个节点上? 的相关文章

随机推荐