Je suis confronté à l'objet $, lorsque je tente de créer dynamiquement des familles de colonnes. J'utilise Hector pour cela, et j'ai le niveau de cohérence par défaut. Je crois, la raison est que Hector renvoie la méthode de famille de la colonne de création avant que la famille de colonnes soit répliquée à travers le cluster. Comment puis-je gérer cela de manière appropriée?Etat de cluster incohérent lors de la création de familles de colonnes par programme dans Cassandra
Q
Etat de cluster incohérent lors de la création de familles de colonnes par programme dans Cassandra
1
A
Répondre
1
Vous croyez? S'il vous plaît lire ceci link, il a un exemple sur la façon de créer la famille de colonnes, puis imprimer la définition de la famille de colonnes. Une fois la famille de colonnes créée dans le cluster Cassandra, le schéma se propage sur les nœuds du cluster. Si vous souhaitez inspecter la famille de colonnes dans le nœud Cassandra, vous pouvez probablement utiliser cassandra-cli
et la commande show schema
.
Edit: De suivre les commentaires, la solution consiste à mettre à niveau le hector à la dernière version et appeler la méthode addColumnFamily(cfdef, true);
, qui est d'attendre que le schéma se propage dans le cluster. Ensuite, commencez à insérer des données (nom de colonne et sa valeur) dans cette famille de colonnes.
Questions connexes
- 1. Comment définir des familles de colonnes dynamiques dans Cassandra
- 2. Comment imprimer des familles de colonnes configurées dans cassandra
- 3. Comment créer plusieurs familles de colonnes en utilisant un script?
- 4. Connexion à des familles de colonnes de cassandra utilisant thiapi api java
- 5. sur cassandra Cluster obtenir l'erreur: * schéma n'est pas encore d'accord *, lors de la création de keyspace
- 6. Combien de données par nœud dans le cluster Cassandra?
- 7. Problème lors de la création de UIPageControl par programme?
- 8. Comment générer plusieurs familles de colonnes Cassandra dans un seul travail Hadoop?
- 9. Apache cassandra - Conception d'une base de données pour une application - Comment sélectionner les familles de colonnes et les super familles de colonnes?
- 10. Android: création par programme de deux colonnes dans une table
- 11. mesures de performance Collecte d'un cluster cassandra
- 12. pourquoi python est-il incohérent lors de l'interprétation d'une soustraction lors de la création d'une liste?
- 13. Etat de débogage par programme dans le manifeste
- 14. Restaurer les données du cluster Cassandra lors de la suppression accidentelle de la table
- 15. Exportation/importation de familles de colonnes spécifiques de bigtable
- 16. Meilleure façon de réduire un cluster Cassandra
- 17. Gestionnaire de cluster Cassandra (ccm) sur docker
- 18. Quel est l'impact de l'augmentation du nombre de familles de colonnes de cassandra sur l'utilisation du tas?
- 19. BULK INSERT avec nombre de colonnes incohérent
- 20. Insertion de plusieurs colonnes dans Cassandra
- 21. Création de vues par programme
- 22. Création de RadioButtons par programme
- 23. Performances de Cassandra: mise à jour des colonnes par ligne
- 24. Obtention d'une exception de base de données inconnue lors de la création de schéma par programme?
- 25. Etat par défaut de l'icône de la barre des tâches
- 26. Hadoop Hbase: Répartition des familles de colonnes entre les tables
- 27. Création de NSMenuItems par programme dans MonoMac
- 28. Choix du choix lors de l'utilisation de RandomPartitioner de Cassandra
- 29. Comptage des 'rangées' dans la famille de colonnes de Cassandra en utilisant le pilote python
- 30. Création de threads dans le cluster
Quand je dis par programme, je regardais faire cela à partir du code. Je ne veux pas utiliser le cli. Ce lien que vous avez indiqué ne résout pas le problème. C'est en ajoutant un espace de touches avec un CF. Je veux juste ajouter un CF (sans perdre mon espace de frappe, et perdre toutes les données que j'ai) dynamiquement, et assurez-vous qu'il est propagé. J'espère que j'ai du sens ici. –
@TharinduMathew Je suis désolé car je ne peux pas m'exprimer clairement ;-). Avant de faire cette édition, puis-je avoir votre confirmation que voulez-vous exactement faire? Voulez-vous dire que vous voulez ajouter dynamiquement un nom de colonne et sa valeur dans la famille de colonnes existante et vérifier que la colonne qui est insérée est propagée dans le cluster? – Jasonw
Essayer à nouveau :). Cluster de 3 nœuds de Cassandra 0,7. J'ai un problème de concurrence. Un nombre différent de threads tente de créer une famille de colonnes et d'insérer des données. Donc, je synchronise ceci pour qu'un seul thread crée une famille de colonnes, et vérifie que la modification s'est propagée à travers le cluster. Mais ce résultat est incompatible avec Hector. J'ai partiellement trouvé une solution. Maintenant j'utilise l'API Thrift de describe_schema pour vérifier les versions incohérentes à travers le cluster. Mais parfois, il ne se propage tout simplement pas à travers le cluster et aboutit à 2 versions de schéma. Une façon d'aborder cela? –