【发布时间】:2016-04-18 04:38:51
【问题描述】:
有没有办法查看 cassandra 中使用 vnode 的每个节点的令牌范围?我不想看到通过发出 nodetool ring 获得的每个节点的令牌。我只想查看每个使用 vnode 的节点的令牌管理员。
【问题讨论】:
标签: cassandra cassandra-2.0 nodetool
有没有办法查看 cassandra 中使用 vnode 的每个节点的令牌范围?我不想看到通过发出 nodetool ring 获得的每个节点的令牌。我只想查看每个使用 vnode 的节点的令牌管理员。
【问题讨论】:
标签: cassandra cassandra-2.0 nodetool
给定节点的令牌范围将是键空间拓扑的函数。
您可以通过 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 节点来解决此问题
【讨论】: