有没有办法查看使用vnodes的cassandra中每个节点的令牌范围?我不想通过发出nodetool ring来查看每个节点的令牌。我只想查看使用vnodes的每个节点的令牌游侠。
答案 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)