cassandra nodetool / cqlsh描述集群

时间:2016-12-06 17:17:23

标签: cassandra range cql nodetool

我在Google云上的3节点群集上测试Cassandra,并试图查看节点之间的Ranges Ownership分布(测试密钥空间的RF = 3)。我已经尝试过CQL描述集群和Nodetool describecluster,但它们都没有显示范围(只有snitch,partitioner和schema版本)。运行cqlsh 5.0.1 |卡桑德拉3.9 | CQL规范3.4.2。知道如何找到这些信息或为什么这些命令不显示这些信息?可能是因为群集设置?谢谢。

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