Bonjour à tous,
Autant j'aime beaucoup Google et blogger pour leur simplicité, j'ai décidé, afin de préserver la vie privée de mes lecteurs de passer sur quelque chose de moins "espion" que Blogger. Sur le nouveau site, point de Google Analytics, point de Google hosting.
Si vous êtes intéressés pour rédiger des billets avec moi, ou même rejoindre VoxNucleus n'hésitez pas à m'envoyer un mail / poster un commentaire.
Ce blog restera ici, comme une archive pour ce que j'ai fait avant la version 0.7.0, sur le site j'ai apporté beaucoup de modifications comme vous le verrez (Passage mixte à 3 bases de données : PostGreSQL, Redis et Cassandra), je fais plus de billets aussi.
Pour rejoindre ce nouveau site cliquez sur un des liens (cela conduit vers la même destination) :
victorkabdebon.net
victorkabdebon.com
A très bientôt.
mercredi 2 mars 2011
dimanche 16 janvier 2011
Cassandra 0.7.0 est sorti !
La version 0.7.0 de Cassandra vient de sortir et avec elle un grand nombre de nouveautés.
Au programme on retrouve des performances améliorées et beaucoup de nouvelles fonctionnalités comme des indexes secondes sur le contenu des Columns.
Au programme on retrouve des performances améliorées et beaucoup de nouvelles fonctionnalités comme des indexes secondes sur le contenu des Columns.
vendredi 12 novembre 2010
Sortie de Cassandra 0.6.8
Bonjour,
Edit : Décidément, je me trompe ! En effet la version 0.6.8 est sorti avec un quickfix de la version 0.6.7
Cassandra version 0.6.8 est sorti aujourd'hui (j'avais mal prévu) et c'est sûrement la dernière version avant la 0.7.0 qui avance à grand pas. Un nombre mineur de bugs ( la liste ici ) a été corrigé ce qui semble clairement indiquer que les développeurs de Cassandra se concentrent beaucoup plus sur la version 0.7.
Le téléchargement se passe par ici :
http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.6.8/apache-cassandra-0.6.8-bin.tar.gz
Edit : Décidément, je me trompe ! En effet la version 0.6.8 est sorti avec un quickfix de la version 0.6.7
Cassandra version 0.6.8 est sorti aujourd'hui (j'avais mal prévu) et c'est sûrement la dernière version avant la 0.7.0 qui avance à grand pas. Un nombre mineur de bugs ( la liste ici ) a été corrigé ce qui semble clairement indiquer que les développeurs de Cassandra se concentrent beaucoup plus sur la version 0.7.
Le téléchargement se passe par ici :
http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.6.8/apache-cassandra-0.6.8-bin.tar.gz
jeudi 4 novembre 2010
Ouverture de mon site : VoxNucleus
Bonjour à tous,
Ca y est, j'ai enfin ouvert le site sur lequel je travaille depuis un moment : VoxNucleus
Quel rapport avec Cassandra ?
Et bien la partie base de données du site a été entièrement développée avec Cassandra, sans aucune base de données de type SQL.
L'utilisation de Cassandra a été plutôt douloureuse à des moments et le manque de schéma de faire ce que je souhaitais, mais en rusant un peu il est tout à fait possible de faire ce que l'on souhaite.
1. Le principe du site
Ce site est sur le même principe que Digg ou Reddit : vous créer un noyau qui est soit un lien soit une opinion (dans ce cas il ne contiendra pas de lien), vous votez pour ce qui vous intéresse et vous continuez à regarder ce qu'il se passe sur le site.
Le site que vous voyez pour l'instant est amené à fortement évoluer, mais pour l'instant je n'en dirai pas plus !
2. Les outils utilisés
Tout ce que j'ai utilisé est issu du monde du libre ( tout en faisant attention aux licences, bien entendu) :
Tomcat : Tout est développé à partir de Servlet Java ( mis à part quelques détails dont je parlerai plus tard). Tomcat sert donc de Servlet Container, je l'ai choisi en particulier à cause de sa relative rapidité et de son évolution qui semble être intéressante, en particulier dans sa version 7.
solR : (il y pas mal de travail là dessus)
Cassandra : La base de données. Vous pouvez lire sur le reste de mes billets ce que j'en pense.
3. A venir
Il manque un grand nombre de fonctionnalités qui seront ajoutées au fur et à mesure de l'évolution mais le principal est en place
Rappelez vous que ce site est en version beta et je vous invite à vous y inscrire, l'inscription est bien évidemment libre et gratuite. Je vous invite évidemment à participer !
Vous pouvez suivre l'actualité du site sur Facebook et Twitter aux adresses suivantes :
Twitter
Facebook
PS : Je continuerai évidemment d'alimenter ce site avec les retours sur l'utilisation du site et l'expérience que j'en tirerai: vitesse de recherche, comment j'ai pu résoudre certains problèmes, en particulier le manque de certaines requêtes, etc...
Ne vous gênez pas pour poser des questions sur le développement ou tout autre question en commentaire.
A bientôt et n'oubliez pas de vous rendre sur www.VoxNucleus.fr et de faire partager le site.
Je vous remercie.
Ca y est, j'ai enfin ouvert le site sur lequel je travaille depuis un moment : VoxNucleus
Quel rapport avec Cassandra ?
Et bien la partie base de données du site a été entièrement développée avec Cassandra, sans aucune base de données de type SQL.
L'utilisation de Cassandra a été plutôt douloureuse à des moments et le manque de schéma de faire ce que je souhaitais, mais en rusant un peu il est tout à fait possible de faire ce que l'on souhaite.
1. Le principe du site
Ce site est sur le même principe que Digg ou Reddit : vous créer un noyau qui est soit un lien soit une opinion (dans ce cas il ne contiendra pas de lien), vous votez pour ce qui vous intéresse et vous continuez à regarder ce qu'il se passe sur le site.
Le site que vous voyez pour l'instant est amené à fortement évoluer, mais pour l'instant je n'en dirai pas plus !
2. Les outils utilisés
Tout ce que j'ai utilisé est issu du monde du libre ( tout en faisant attention aux licences, bien entendu) :
Tomcat : Tout est développé à partir de Servlet Java ( mis à part quelques détails dont je parlerai plus tard). Tomcat sert donc de Servlet Container, je l'ai choisi en particulier à cause de sa relative rapidité et de son évolution qui semble être intéressante, en particulier dans sa version 7.
solR : (il y pas mal de travail là dessus)
Cassandra : La base de données. Vous pouvez lire sur le reste de mes billets ce que j'en pense.
3. A venir
Il manque un grand nombre de fonctionnalités qui seront ajoutées au fur et à mesure de l'évolution mais le principal est en place
Rappelez vous que ce site est en version beta et je vous invite à vous y inscrire, l'inscription est bien évidemment libre et gratuite. Je vous invite évidemment à participer !
Vous pouvez suivre l'actualité du site sur Facebook et Twitter aux adresses suivantes :
PS : Je continuerai évidemment d'alimenter ce site avec les retours sur l'utilisation du site et l'expérience que j'en tirerai: vitesse de recherche, comment j'ai pu résoudre certains problèmes, en particulier le manque de certaines requêtes, etc...
Ne vous gênez pas pour poser des questions sur le développement ou tout autre question en commentaire.
A bientôt et n'oubliez pas de vous rendre sur www.VoxNucleus.fr et de faire partager le site.
Je vous remercie.
lundi 1 novembre 2010
Cassandra - Diagnostiquer et réparer des problèmes : nodetool
Un outil très important est nodetool sur Cassandra. Nous allons voir quelques utilisations de nodetool dans la suite.
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 :
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 !
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 !
Inscription à :
Articles (Atom)