Есть ли способ увидеть диапазоны токенов для каждого узла в cassandra, который использует vnodes?

Есть ли способ увидеть диапазоны токенов для каждого узла в кассандре, который использовал vnodes? Я не хочу видеть токен для каждого узла, который вы получаете, выпуская кольцо nodetool. Я просто хочу увидеть рейнджера токенов для каждого узла, который использует vnodes.


person user1870400    schedule 13.01.2016    source источник


Ответы (1)


Диапазоны токенов для данного узла будут функцией топологии пространства ключей.

Программно вы можете использовать для этого java-драйвер, используя Cluster.getMetadata (). getTokenRanges (keypace, 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)

person Andy Tolbert    schedule 13.01.2016