2011-01-17 4 views
6

Je sais que Cassandra est encore extrêmement en version bêta, mais j'aimerais bien jouer avec. Ce n'est en aucun cas un projet de production; c'est juste pour m'amuser et apprendre un peu. Mais la meilleure façon d'apprendre est de se déployer et d'amener les gens à le mettre à l'épreuve. Je veux utiliser Cassandra avec Heroku, donc je voudrais le déployer sur EC2 (comme Heroku l'est). Quel est le meilleur, le plus facile, le moyen le moins cher de le faire? Des recommandations?Déployer Cassandra sur EC2?

J'en ai vu quelques-uns à travers Google, mais ils préviennent des choses comme: Les instances EC2 ne sont pas adaptées à une utilisation en production. Ils stockent les données sur l'instance elle-même et disparaissent lorsque l'instance est arrêtée.

Répondre

4
  • Utiliser les instances Elastic bloc de stockage (EBS) pour stocker Cassandra fichiers journaux et de données. Vous devrez modifier /etc/cassandra/cassandra.yaml pour spécifier l'emplacement de ces fichiers. Les instances EBS persistent au-delà lorsque les instances EC2 auxquelles elles sont attachées s'arrêtent.

  • Vous pouvez l'installer sur une instance pour essayer l'interface et tester le modèle de données. Vous n'avez pas encore besoin de configurer un cluster. Pour tester les capacités de clustering, vous pouvez essayer de configurer trois instances et de donner à tous les espaces de clés un facteur de réplication de 3. Mais cela pourrait être un stade d'expérimentation plus tard que d'expérimenter avec le modèle de données. La taille de cluster minimale recommandée est 3.

  • Vous devez tester différentes tailles de machines. Pour expérimenter avec des tailles d'instance ultra-petites, vous pouvez utiliser d'autres fournisseurs comme Rackspace. Si vous rencontrez des problèmes de performance avec des tailles d'instance plus petites, voyez si le déplacement des tailles d'instances résout ces problèmes.

  • Il existe quelques bibliothèques alpha-Cassandra-Object-Mapping pour Rails. Vous pouvez constater que ceux-ci ne fonctionnent pas tout à fait pour vous. Vous pouvez choisir de leur apporter une nouvelle contribution ou simplement implémenter le code de persistance du modèle directement dans vos modèles. Pour les applications Rails 3, vous pouvez consulter l'interface ActiveModel et les modules d'assistance, afin que vos modèles fonctionnent correctement avec ActionPack et d'autres bibliothèques qui attendent des modèles compatibles ActiveModel.

+2

Cette réponse est vraiment erronée. Premièrement, personne n'utilise EBS avec cassandra. Sérieusement, ne le fais pas. Au lieu de cela, créez un volume LVM RAID-0 de tous les disques éphémères avec ext4. Utilisez m1.xlarge car il a quatre éphémérides et la bande passante d'E/S est votre plus gros goulot d'étranglement sur EC2. Assurez-vous de mettre vos nœuds en travers des zones de disponibilité afin de pouvoir survivre à une panne nette de réseau/panne complète. Ecrivez un travail cron pour faire des instantanés de type Netscape et téléchargez-les sur S3 pour sauvegarde. Encore une fois, étant donné que la bande passante des E/S est votre pire ennemi, vous avez plus de chances de développer votre cluster que d'augmenter la taille de l'instance une fois en production. –

Questions connexes