我在Google云上的3节点群集上测试Cassandra,并试图查看节点之间的Ranges Ownership分布(测试密钥空间的RF = 3)。我已经尝试过CQL描述集群和Nodetool describecluster,但它们都没有显示范围(只有snitch,partitioner和schema版本)。运行cqlsh 5.0.1 |卡桑德拉3.9 | CQL规范3.4.2。知道如何找到这些信息或为什么这些命令不显示这些信息?可能是因为群集设置?谢谢。
答案 0 :(得分:1)
在CQL中,您可以查询system.local
表。此表存在于每个节点上,仅包含单个行,并保存特定于节点本身的数据。 tokens
列包含与通过nodetool ring
命令返回的数据相同的数据:
> SELECT tokens FROM system.local ;
tokens
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{'-1221474524472000659', '-2679404716758606376', '-9167452864191410895', '-9208108764127114640', '1685199701625160019', '1767371464207122869', '5004977198676178684', '5337137237744686089', '6630117681615088706', '7106607077939671384', '7512974951531203644', '8229478807809310370'}
(1 rows)
请注意,通过tokens
查询system.local
仅返回当前节点的令牌范围。要在群集中的另一个节点上查看它们,您可以查询tokens
表上的system.peers
列,它们通过IP地址(peer
)进行键控。
> SELECT tokens FROM system.peers WHERE peer='192.168.6.114';
tokens
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{'-4094626707569673185', '-5633637686310353556', '-6167080457205238021', '-6475599470116582717', '-6726897113409283403', '-7185540759553541576', '-7282762652579832116', '-7740824590733013501', '-8045274855112430621', '2064433256459654945', '667061811731435593', '7079292008020861651'}
(1 rows)
答案 1 :(得分:0)
你能试试nodetool ring
令牌列提供令牌范围的结尾,包括列出的值。
请阅读https://docs.datastax.com/en/cassandra/2.1/cassandra/tools/toolsRing.html