2017-08-17 1 views
0

J'essaie d'utiliser SSTableLoader pour migrer des tables d'un cluster Cassandra 2.1 vers un Cassandra 3.11 et pendant que certains SStables sont chargés avec succès, je continue à frapper des erreurs bizarres avec les autres. Je suis en train de charger à plusieurs reprises les mêmes SSTables, parfois je reçois unCassandra SStableLoader Erreur de diffusion Broken pipe

générique

java.util.concurrent.ExecutionException: org.apache.cassandra.streaming.StreamException: Stream failed

D'autres fois

org.apache.cassandra.io.FSReadError: java.io.IOException: Broken pipe

Cependant, si je revenais system.log je trouve toujours cette erreur:

java.lang.IllegalArgumentException: No column name component found in cell name

Essayé en cherchant l'erreur ci-dessus, nous n'avons trouvé aucun détail utile.

J'ai essayé la réparation de nodetool sur les tables du cluster 2.x mais après quelques heures, il semble que ce ne soit toujours pas fait. J'essaierais d'utiliser le gommage nodetool mais je ne suis pas sûr que cela entraînera une perte de données.

Répondre

0

Le problème est que le format sstable a changé dans Cassandra 3.0 et que vous ne pouvez donc pas simplement streamer des sstables au format 2.1 vers un noeud 3.x en tant que format sstable. Le moyen officiel (et meilleur) est que vous devez d'abord mettre à jour votre ou vos nœuds vers une nouvelle version C *, puis lancer nodetool upgradesstables -a.

+0

Je ne peux pas mettre à niveau les nœuds 2.1 vers 3.x, je les copie sur 3.11 nœuds et j'essaie de les charger, comment puis-je mettre à jour les sstables si je ne peux pas les importer dans 3.11 en premier? J'ai également trouvé ceci dans la documentation officielle: Bulkloading SSTables créés dans les versions antérieures à Cassandra 3.0 est pris en charge uniquement dans Cassandra 3.0.5 et versions ultérieures. Ceci suggère que l'importation devrait être supportée, et que certains sstables peuvent en effet être importés. – UrVal

+0

Une mise à jour ici, j'ai chargé avec succès plus de 50 sstables d'un DB à l'autre, C'est juste 2 magasins de colonne qui donnent cette erreur et pas tous les sstables, juste la plupart d'entre eux. – UrVal