【问题标题】:Is there a way to see token ranges for each node in cassandra which uses vnodes?有没有办法查看 cassandra 中使用 vnodes 的每个节点的令牌范围?
【发布时间】:2016-04-18 04:38:51
【问题描述】:

有没有办法查看 cassandra 中使用 vnode 的每个节点的令牌范围?我不想看到通过发出 nodetool ring 获得的每个节点的令牌。我只想查看每个使用 vnode 的节点的令牌管理员。

【问题讨论】:

    标签: cassandra cassandra-2.0 nodetool


    【解决方案1】:

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

    您可以通过 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 节点来解决此问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2017-06-01
      • 1970-01-01
      • 2010-10-20
      • 2020-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多