2016-09-29 4 views
0

Unsere aktuellen Setup enthält DSE 5.0.2 Version mit 3 Knoten cluster.Currently wir Problem mit hohen Last und Knotenausfall issue.Debug.log Details konfrontiert ist unten angegeben:DataStax Mismatch für Key Ausgabe

DEBUG [ReadRepairStag : 8] 2016.09.27 14: 11: 58.781 ReadCallback.java:234 - Mismatch-Digest: org.apache.cassandra.service.DigestMismatchException: Mismatch für Schlüssel DecoratedKey (5503649670304043860, 343.233) (45cf191fb10d902dc052aa76f7f0b54d vs ffa7b4097e7fa05de794371092c51c68) bei org .apache.cassandra.service.DiggerResolver.resolve (DigestResolver.java:85) ~ [cassandra-all-3.0.7.1159.jar: 3.0.7.1159] bei org.apache.cassandra.service.ReadCallback $ AsyncRepairRunner.run (ReadCallback .java: 225) ~ [Cassandra -all-3.0.7.1159.jar: 3.0.7.1159] bei java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) [na: 1.8.0_77] bei java.util.concurrent.ThreadPoolExecutor $ Worker. run (ThreadPoolExecutor.java:617) [na: 1.8.0_77] bei java.lang.Thread.run (Thread.java:745) [na: 1.8.0_77]

Antwort

0

Ich antworte das aus der Perspektive von was der Fehler, den du bekannt gabst, bedeutet. Aber ich denke nicht, dass dies allein die Ursache für Ihre Probleme sein wird. Ohne alle Protokolle von den Knoten in Ihrem Cluster zu sehen, ist es schwer zu sagen.

Die Digest mismatch, die Sie geschrieben haben, kommt tatsächlich von einer gelesenen Reparatur. Diese Dokumente Link erklärt es auf einem hohen Niveau (beachten Sie entgegen dem, was der Doc sagt, lesen Reparatur in anderen CLs zu blockieren):

https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsRepairNodesReadRepair.html

Wenn Sie zu viele Lese Reparaturen zu sehen, und Sie haben mehrere DCs könnten Sie in Betracht ziehen, read_repair_chance niedriger und steigend dclocal_read_repair_chance einzustellen, standardmäßig sind sie 0,1 und 0, also nicht immer die optimale.

Ich habe gesehen, dass diese Ursache Lesezeitüberschreitungen als ein Digest Mismatch eine blockierende Lesereparatur verursachen kann. Ihre beste Wette, wenn Sie denken, dies Probleme verursacht ist die Abfrage in cqlsh mit Tracing oder verwenden probabilistische Verfolgung entweder Ausführen von Abfragen zu protokollieren, die Sie Spuren auf im Nachhinein

Doc Links sehen können:

https://docs.datastax.com/en/cql/3.3/cql/cql_reference/tracing_r.html

https://docs.datastax.com/en/cassandra/3.0/cassandra/tools/toolsSetTraceProbability.html