有没有办法在cassandra中查看使用vnodes的每个节点的令牌范围?

时间:2016-01-13 09:23:19

标签: cassandra cassandra-2.0 nodetool

有没有办法查看使用vnodes的cassandra中每个节点的令牌范围?我不想通过发出nodetool ring来查看每个节点的令牌。我只想查看使用vnodes的每个节点的令牌游侠。

1 个答案:

答案 0 :(得分:2)

给定节点的令牌范围将是键空间拓扑的函数。

以编程方式,您可以使用Cluster.getMetadata().getTokenRanges(keyspace, host)使用java驱动程序。以下代码示例显示按主机检索键空间的所有令牌范围:

String keyspace = "mykeyspace";
for(Host host : cluster.getMetadata().getAllHosts()) {
    Set<TokenRange> hostRanges = cluster.getMetadata().getTokenRanges(keyspace, host);
}

此外,您可以通过org.apache.cassandra.db:type=StorageService#getRangeToEndpointMap|getRangeToRpcaddressMap(String)

使用JMX到Cassandra节点