Cassandra Datenreplikationsproblem

Ich habe einen 2-Knoten-Cassandra-Cluster mit einem Replikationsfaktor von 2 und AutoBootStrap = true. Beim Start ist alles in Ordnung und beide Knoten sehen sich. Nennen wir diese Knoten A und B.

ügen Sie eine Reihe von Schlüsseln und Spalten (nennen wir diese Menge K1) zu cassandra über Knoten A hinzVerbinden Sie sich mit Knoten A und lesen Sie den Satz K1 zurück. Gleich auf Node B. Erfolg - GoodKill Cassandra-Prozess auf Knoten B.Add set K2 bis A.Verbinden Sie sich mit Knoten A und lesen Sie Satz K2. Gutarten Sie den Cassandra-Prozess auf Knoten B neVersuchen Sie, alle Schlüssel von B auszulesen ... K1 vorhanden, K2 FEHLT. (Auch nach 30 Minuten) Füge K3 zu A / B hinzu.Alle Schlüssel von A lesen - liefert Set K1, K2, K3 zurückLesen Sie alle Schlüssel von B - gibt Set K1, K3 zurück.

B synchronisiert niemals Satz K2 ... (Es sind mehr als 12 Stunden vergangen) Warum sieht Knoten B Satz K2 nicht ... hat jemand eine Idee?

Added Info :

Ok ... das war das Problem. Die read_consistency_level wurde standardmäßig auf 1 gesetzt.

Wenn wir also Knoten B nach Satz K2 fragen und dieser nicht vorhanden ist (wenn dies aufgrund des Replikationsfaktors = 2 der Fall sein soll), wird sofort der Fehler "Nicht gefunden" zurückgegeben.

Wenn wir jedoch die Lesekonsistenz als QUORUM oder ALL verwenden, muss B A fragen, der dann den korrekten Wert zurückgibt und B diesen Schlüssel synchronisiert (lokal speichert).

Dies führt zu einem weiteren Problem. Das bedeutet, dass beim Hochfahren von Knoten B nicht alle Daten von Knoten A synchronisiert werden, selbst nach einer langen Zeit. Wie können wir auf diese nicht synchronisierten Daten zugreifen, wenn Knoten A ausfällt? (Ich habe gerade getestet, dass wir nicht können)

Ich denke, es muss eine Möglichkeit geben, die Synchronisierung der Daten zu erzwingen. Ich sehe die INFO in der Terminalausgabe, dass eine angedeutete Übergabe von 15 Zeilen von A nach B stattgefunden hat, als B auftauchte, aber B hat diese Zeilen lokal nicht (weil wir sie immer noch nicht von B mit der Konsistenzstufe EINS lesen können). Was ist denn hier los

Antworten auf die Frage(2)

Ihre Antwort auf die Frage