2016-12-06 4 views
1

Je teste Cassandra sur un cluster de 3 nœuds sur Google Cloud et essaye de voir la distribution des Ranges Ownership entre les nœuds (j'ai un RF = 3 pour l'espace de test). J'ai essayé à la fois CQL describe cluster et Nodetool describecluster mais aucun d'entre eux ne montre aussi bien les gammes (seulement les versions snitch, partitioner et schema). Exécution de cqlsh 5.0.1 | Cassandra 3.9 | Spécification CQL 3.4.2. Toute idée comment puis-je trouver cette information ou pourquoi ces commandes ne les affichent pas? Peut-être à cause de la configuration du cluster? Merci.cassandra nodetool/cqlsh describe cluster

Répondre

1

De l'intérieur CQL, vous pouvez interroger la table system.local. Cette table existe sur chaque noeud, ne contient qu'une seule ligne et contient des données spécifiques au noeud lui-même. La colonne tokens contient les mêmes données que est renvoyée via la commande nodetool ring:

> SELECT tokens FROM system.local ; 

tokens 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 
{'-1221474524472000659', '-2679404716758606376', '-9167452864191410895', '-9208108764127114640', '1685199701625160019', '1767371464207122869', '5004977198676178684', '5337137237744686089', '6630117681615088706', '7106607077939671384', '7512974951531203644', '8229478807809310370'} 

(1 rows) 

Notez que l'interrogation via tokenssystem.local rendements seulement les plages de jeton pour le noeud actuel. Pour les voir pour un autre nœud dans le cluster, vous pouvez interroger la colonne tokens dans la table system.peers, où ils sont codés par adresse IP (peer).

> SELECT tokens FROM system.peers WHERE peer='192.168.6.114'; 

tokens 
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
{'-4094626707569673185', '-5633637686310353556', '-6167080457205238021', '-6475599470116582717', '-6726897113409283403', '-7185540759553541576', '-7282762652579832116', '-7740824590733013501', '-8045274855112430621', '2064433256459654945', '667061811731435593', '7079292008020861651'} 

(1 rows) 
+0

Merci Aaron, est-il possible de voir la distribution des plages par famille de colonnes? – Vcrisan

+0

@Vcrisan Les plages sont définies par le noeud et seront les mêmes pour toutes les tables (familles de colonnes) avec des données sur ce noeud. C'est pourquoi des éléments tels que les lots atomiques enregistrés fonctionnent sur des tables différentes, car les clés de partition sont hachées de la même manière, quelle que soit la table dans laquelle elles se trouvent. – Aaron