Si è verificato un problema "me.prettyprint.hector.api.exceptions.HUnavailableException:: potrebbero non essere presenti repliche sufficienti per gestire il livello di coerenza." quando ho RF = 1, Read Consistency Level = 1 e uno dei nodi in 6 node ring/cluster è inattivo. Tutte le mie letture stanno fallendo con questa eccezione. Qualche idea? Idealmente, solo le letture che cercano i dati nel nodo che è inattivo dovrebbero fallire e tutte le altre letture dovrebbero avere successo?Disponibilità di Cassandra
risposta
Ci potrebbe essere un paio di possibilità:
- Si sta eseguendo una query multi-fila (get_range, get_indexed_slices, multiget, o gli equivalenti CQL) che richiede più nodi di essere all'altezza
- Il cluster è sbilanciato, con il nodo verso il basso che possiede la maggior parte dell'anello; una cattiva configurazione multi-CC potrebbe anche produrre qualcosa di simile
- Il tuo cluster non era in uno stato buono per cominciare, dove alcuni nodi non ne vedono altri. Assicurarsi che l'anello nodetool mostri lo stesso output quando si esegue su ciascun nodo nel cluster
Se nessuna di queste cause è la causa, ricontrollare che si specifica correttamente il livello di coerenza con Hector e cqlsh.
Ho visto qualcosa di simile quando ho configurato erroneamente le mie impostazioni di replica, in particolare ho avuto i datacenter errati denominati om la strategia di replica. Controlla i tuoi DC (supponendo che tu stia usando NetworkTopologyStrategy).
Se non si conosce già i nomi DC, in una shell su uno dei nodi gestiscono:
$ nodetool -h localhost ring
Address DC Rack Status State Load Owns Token
141784319550391000000000000000000000000
172.26.233.135 Cassandra rack1 Up Normal 25.75 MB 16.67% 0
172.26.233.136 Cassandra rack1 Up Normal 26.03 MB 16.67% 28356863910078200000000000000000000000
172.26.233.137 Cassandra rack1 Up Normal 27.19 MB 16.67% 56713727820156400000000000000000000000
172.26.233.138 Cassandra rack1 Up Normal 26.78 MB 16.67% 85070591730234600000000000000000000000
172.26.233.139 Solr rack1 Up Normal 24.47 MB 16.67% 113427455640313000000000000000000000000
172.26.233.140 Solr rack1 Up Normal 26.66 MB 16.67% 141784319550391000000000000000000000000
Si può vedere abbiamo due DC, Cassandra e Solr (questo è un cluster DSE) .
In cassandra-cli:
use Keyspace1;
describe;
CLI stamperà le opzioni strategiche:
Keyspace: Catalog:
Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy
Durable Writes: true
Options: [DC1:3]
...
Abbiamo un mis-match. Cassandra sta cercando un datacenter denominato DC1, quindi l'UnavailableException. Dobbiamo aggiornare le opzioni di replica in modo che corrispondano ai DC effettivi nel nostro cluster. Nella CLI, aggiorna le opzioni strategiche per il tuo spazio delle chiavi usando i nomi dei data center:
update keyspace Keyspace1 with strategy_options = {Cassandra:3,Solr:2};
Nel mio caso, avevo copiato lo schema cassandra dall'ambiente di produzione (che aveva due data center) all'ambiente QA (che aveva un unico centro dati). Dopo aver corretto lo schema per indicare un centro dati, il problema è stato risolto. – zafar142003
- 1. iOS: disponibilità di didReceiveMemoryWarning:
- 2. Zona di disponibilità di Heroku
- 3. Finestra di manutenzione ElastiCache Disponibilità
- 4. Disponibilità di funzionalità C++ 11
- 5. disponibilità in Python
- 6. Rileva disponibilità Microsoft.Office.Interop.Excel
- 7. Nome applicazione iPhone Disponibilità
- 8. itunes connette la disponibilità di analisi?
- 9. Richiesta client alta disponibilità Namenode
- 10. Disponibilità JQuery sui repository Maven
- 11. Cassandra tipo di errore
- 12. Cassandra CompositeType
- 13. Rilevamento di funzionalità: disponibilità di eventi di mutazione in JavaScript?
- 14. Errore durante l'installazione di cassandra
- 15. Usare cassandra invece di memcache?
- 16. Chiavi di raggruppamento in Cassandra
- 17. Errore di lettura in cassandra
- 18. Google Cloud Bigtable Durata/Disponibilità Garanzie
- 19. Git/Django: permesso/disponibilità del codice granulare
- 20. Risposta alla disponibilità della RAM in iOS
- 21. Come capire la "disponibilità" del teorema CAP?
- 22. Disponibilità dispositivo, filtro e Google Play
- 23. Modo elegante per testare la disponibilità SSH
- 24. EC2 Amazon Alta disponibilità sempre attiva
- 25. Controlla la disponibilità del dominio Java
- 26. Come eseguire un controllo di disponibilità sulle variabili di classe
- 27. Dove sono esattamente le zone di disponibilità di AWS EC2?
- 28. Siti Web di Azure. NET 4.5.2 data di disponibilità
- 29. verifica la disponibilità della camera nell'hotel
- 30. controllo Android disponibilità GPS sulla dispositivo
Vedi lo stesso problema con cqlsh? Hector sta cercando di essere troppo intelligente e fa il proprio rilevamento di disponibilità. – jbellis
Sì. Ho provato CQLSH anche lo stesso numero –