2016-08-03 31 views
0

Wenn ich Cassandra Tabelle jede Minute lesen, lassen Sie einige Daten weg, zum Beispiel angenommen, jetzt ist 2016-08-03 09:00:00, die Tabelle haben 1000 Zeilen Daten, aber ich lese nur 600 Zeilen Daten.Wie kann Ich löse das Problem Es gibt keine FehlermeldungWarum Cassandra Daten lesen kann es einige Daten überspringen?

+0

Wie ist Ihre Replikationskonfiguration und wie viele Server verwenden Sie im Cluster? Wie lange dauert es zwischen den Lese- und Schreibvorgängen? Wenn Sie mehr als einen Server haben, ist es möglich, dass Sie auf einen Knoten schreiben und die Daten noch nicht repliziert wurden und Sie von einem anderen Knoten lesen. Cassandra ist schließlich konsistent. –

Antwort

0

Bitte überprüfen Sie den Replikationsfaktor (die Anzahl der Replikate der Daten auf mehreren Knoten) und Consistency Level.

Nehmen wir an, Sie haben ein 4-Knoten-Cassandra-Cluster-Setup konfiguriert und den Replikationsfaktor als 3 für ein Schlüssel-Space konfiguriert. Drei Datenkopien stehen schließlich für die von Ihnen eingegebenen Daten zur Verfügung. Dies dient der Ausfallsicherheit gegenüber dem Ausfall eines Knotens. In dieser Konfiguration funktioniert Cassandra auch dann normal, wenn ein Knoten heruntergefahren ist.

Je nach Bedarf können Sie die Konsistenz in Cassandra konfigurieren. Ich vermute, dass Sie hier eine niedrige Konsistenz verwenden. Sie können versuchen, die Lesekonsistenz als Quorum zu verwenden.

+0

Die Konsistenz 'Quorum' Ich habe es versucht, aber es tritt timeout.In meiner Aufgabe, ich oft ausführen 'wählen' 'löschen' 'einfügen' innerhalb von 1 Minute.Es gibt eine Möglichkeit, meine schnell zu betreiben? – shaojie