Cette première entrée sera dédiée à obtenir des informations sur vos serveurs cassandra.
Avant de commencer
Il faut commencer par trouver le port jmx qu'utilise Cassandra, qui est stocké dans bin/cassandra.in.sh, la ligne :
-Dcom.sun.management.jmxremonte.port=XXXX (XXXX sera très probablement 8081)
Pour lancer nodetool (nous utiliserons un serveur Cassandra qui tourne en local) :
$ bin/nodetool --host localhost --port XXXX [vote commande]
Premières opérations
Dorénavant nous utiliserons le port 8081
1. Commande Ring
On peut d'abord voir les informations sur le "ring" cassandra que l'on a créé. Le ring est l'ensemble de vos serveurs connecté partageant un Keyspace :
Pour se faire on lance la commande :
$bin/nodetool --host localhost --port 8081 ring
Exemple :
On peut voir sur l'exemple ci-dessous qu'e l'on a qu'un seul serveur dans le ring (à l'adresse 127.0.0.1 ). Vous pourrez trouver d'autres exemples sur internet avec plus de serveurs pour voir à quoi cela ressemble.
Address Status Load Range Ring
127.0.0.1 Up 181.87 KB 28629777447930928502858236796283324409 |<--|
2. Commande cfstats
Cette commande vous donne des informations sur les ColumnFamily dans votre Keyspace. C'est particulièrement intéressant de voir les données qui en ressortent. Vous pourrez ainsi diagnostiquer s'il y a des problèmes ainsi qu'un grand nombre d'autres informations.
$ bin/nodetool --host localhost --port 8081 ring
Example :
Column Family: Last10KPosts
SSTable count: 2
Space used (live): 14801
Space used (total): 14801
Memtable Columns Count: 3
Memtable Data Size: 132
Memtable Switch Count: 1
Read Count: 1664
Read Latency: 0.391 ms.
Write Count: 6
Write Latency: 0.022 ms.
Pending Tasks: 0
Key cache capacity: 256
Key cache size: 18
Key cache hit rate: 0.9740420271940667
Row cache: disabled
Compacted row minimum size: 0
Compacted row maximum size: 0
Compacted row mean size: 0
3. Commande tpstats
La commande cfstats est particulièrement intéressante lorsque votre serveur Cassandra est très sollicité. de nombreuses informations utiles sont affichées par cette commande et c'est une des commandes les plus importantes lorsque vous administrez une base de données Cassandra.
Il est important que vous ayez le moins possible de tâche pending ainsi qu'active, sinon cela veut dire que vous devez changer votre configuration !
$ bin/nodetool --host localhost --port 8081 tpstats
Example :
Pool Name Active Pending Completed
STREAM-STAGE 0 0 0
RESPONSE-STAGE 0 0 7196
ROW-READ-STAGE 0 0 7196
LB-OPERATIONS 0 0 0
MESSAGE-DESERIALIZER-POOL 0 0 0
GMFD 0 0 0
LB-TARGET 0 0 0
CONSISTENCY-MANAGER 0 0 0
ROW-MUTATION-STAGE 0 0 524
MESSAGE-STREAMING-POOL 0 0 0
LOAD-BALANCER-STAGE 0 0 0
FLUSH-SORTER-POOL 0 0 0
MEMTABLE-POST-FLUSHER 0 0 28
FLUSH-WRITER-POOL 0 0 28
AE-SERVICE-STAGE 0 0 0
4. Commande info
La commande info vous permet d'avoir une vue rapide sur votre base de données. Vous verrez la taille de votre base de données, l'uptime.
$ bin/nodetool --host localhost --port 8081 info
Example :
28629777447930928502858236796283324409
Load : 185.29 KB
Generation No : 1288687184
Uptime (seconds) : 32868
Heap Memory (MB) : 180.26 / 1020.81
A bientôt pour mon prochain billet,
N'hésitez pas à faire passer ce blog si les informations que vous y trouvez vous semblent utiles, c'est une grande motivation de voir les visites augmenter sur ce site. Merci à tous !
on peut aussi essayer le réparer un fichier wab corrompu logiciel
RépondreSupprimer