有没有办法查看 cassandra 中使用 vnodes 的每个节点的令牌范围?我不想看到通过发出 nodetool ring 获得的每个节点的令牌。我只想查看每个使用 vnode 的节点的令牌管理员。
问问题
1433 次
1 回答
2
给定节点的令牌范围将是键空间拓扑的函数。
以编程方式,您可以使用 java 驱动程序使用Cluster.getMetadata().getTokenRanges(keyspace, host)。以下代码示例显示了按主机检索键空间的所有令牌范围:
String keyspace = "mykeyspace";
for(Host host : cluster.getMetadata().getAllHosts()) {
Set<TokenRange> hostRanges = cluster.getMetadata().getTokenRanges(keyspace, host);
}
此外,您可以通过使用 JMX 到 Cassandra 节点来解决此问题org.apache.cassandra.db:type=StorageService#getRangeToEndpointMap|getRangeToRpcaddressMap(String)
于 2016-01-13T16:34:06.847 回答