Configuration de cassandra meilleure pratique sur ec2 avec une grande quantité de données
Je suis en train de faire une grande migration de machines physiques pour les instances ec2.
De plein droit maintenant, j'ai 3 x.les grands nœuds, chacune avec 4 exemple de magasin de disques (raid-0 1.6 TO). Après j'ai mis ce que je rappeler que "Les données sur une instance volume de la banque persiste pendant la durée de vie de l'instance Amazon EC2; si vous arrêter ou mettre fin à une instance, toutes les données de la banque d'instance volumes est perdu."
Que font les gens habituellement dans cette situation? Je suis inquiet que si l'une des boîtes de crash alors que toutes les données seront perdues sur cette case, si elle n'est pas 100% répliqué sur un autre.
http://www.hulen.com/?p=326
J'ai lu dans le lien ci-dessus que ces gars-là l'utilisation ephermal lecteurs et de sauvegarder régulièrement le contenu à l'aide de l'EBS les lecteurs et les photos."
Dans cette question ici: Comment puis-je faire une sauvegarde de aws ec2/stockage éphémère?
Les gens prétendent que vous ne pouvez pas sauvegarder ephermal données sur EBS les instantanés.
Est mon meilleur choix d'utiliser un peu de EBS lecteurs et raid0 ensemble et être en mesure de prendre des photos directement à partir d'eux? Je sais que c'est probablement la solution la plus coûteuse, cependant, il semble faire le plus de sens.
Toute info serait génial.
Je vous remercie pour votre temps.
source d'informationauteur John Z
Vous devez vous connecter pour publier un commentaire.
J'ai été en cours de Cassandra sur EC2 depuis plus de 2 ans. Pour répondre à vos préoccupations, vous avez besoin de former une bonne disponibilité de l'architecture sur EC2 pour votre cluster Cassandra. Voici une liste à puce pour vous d'envisager:
Les deux conseils devraient satisfaire à la base de la disponibilité dans les AWS et dans le cas où vos requêtes sont envoyées à l'aide de LOCAL_QUORUM, votre demande sera bien, même si une zone est en panne.
Si vous êtes préoccupé par 2 zones descendant (ne me souviens pas ce qui s'est passé dans AWS pour les 2 dernières années de mon utilisation), alors vous pouvez aussi ajouter une autre région de votre cluster.
Avec ce qui précède, si un nœud meurt pour une raison quelconque, vous pouvez le restaurer à partir des nœuds dans les autres zones. Après tout, CAssandra a été conçu pour vous fournir ce type de disponibilité.
Sur EBS vs Éphémère:
J'ai toujours été contre l'utilisation de volumes EBS en rien la production, car il est l'un des pires AWS service en termes de disponibilité. Ils vont vers le bas plusieurs fois par an, et leur baisse généralement de cascades à d'autres services AWS comme ELBs et RDS. Ils sont aussi comme attaché de stockage en Réseau, de sorte que toute lecture/écriture devrez aller sur le Réseau. Ne les utilisez pas. Même DataStax ne les recommande pas:
http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/architecture/../../cassandra/architecture/architecturePlanningEC2_c.html
Sur Les Sauvegardes:
- Je utiliser une solution appelée Priam (https://github.com/Netflix/Priam) qui a été écrit par Netflix. Il peut prendre une soirée un instantané de votre cluster et de tout copier sur S3. Si vous activez incremental_backups, il télécharge des sauvegardes incrémentielles à S3. Dans le cas où un nœud tombe en panne, vous pouvez déclencher une restauration sur le nœud spécifique à l'aide d'un simple appel d'API. Il restaure beaucoup plus vite et de ne pas mettre beaucoup de streaming de charge sur d'autres nœuds. J'ai également ajouté un patch qui vous permet de faire des choses de fantaisie comme l'éducation de cd multiples à l'intérieur d'une région AWS.
Vous pouvez lire sur mon installation ici:
http://aryanet.com/blog/shrinking-the-cassandra-cluster-to-fewer-nodes
Espère ci-dessus permet de.
Cela dépend vraiment de vos données. Mais d'abord, vous devez considérer que Cassandra a sa propre sauvegarde/mécanisme de réplication. Si l'un de vos nœuds descend sur les autres nœuds encore la gestion de vos données. Plus votre facteur de réplication le plus "sécuritaire" de vos données, et également le plus le facteur de réplication le plus Cassandra nœuds dont vous aurez besoin.
Si vos données est très essentiel que vous devriez demander vous-même, pouvez-vous reconstruire de façon efficace vos données sans la nécessité de la sauvegarde dans le stockage éphémère? Vous êtes à la recherche pour les meilleures performances? Stockage éphémère effectue beaucoup mieux que l'EBS et ce serait excellent travail, si votre application est en lecture/écriture intensive. Dans notre cas, nous avons utilisé Cassandra avec stockage éphémère rempli avec des données qui nous étaient déjà, à stocker dans Amazon S3.
Si vous ne pouvez pas reconstruire vos données et de vos données est très critique et que vous ne faites pas confiance à Cassandra, vous pouvez toujours utiliser l'EBS à une perte de performance. Le problème avec Cassandra est que cela fonctionne mieux si tous les nœuds de votre cluster sont les mêmes aussi. Il n'est donc pas facile à dire avoir certains nœuds éphémère soutenu et certains nœuds EBS soutenu. Sauf si vous voulez complètement répliquer votre éphémère cluster avec un EBS soutenu cluster, mais ce n'est pas simple.
Vous pouvez plus facilement reproduire mysql ou couchdb instances à l'aide de l'EBS adossés à des instances (de stockage éphémère cas) en raison de leur maître-esclave de l'installation. Par exemple, vous pouvez faire de votre serveur mysql maître de fonctionner sur une éphémère instance de stockage et mysql esclave exécuter sur un EBS soutenu instance.
Il y a une autre discussion sur l'Éphémère vs EBS ici:
Comment puis-je faire une sauvegarde de aws ec2/stockage éphémère?
Espère que cela aide.