关键问题的Datastax不匹配 [英] Datastax Mismatch for Key Issue

查看:205
本文介绍了关键问题的Datastax不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们当前的设置包含具有3个节点群集的DSE 5.0.2版本。当前我们面临着负载重和节点故障的问题.Debug.log详细信息如下:

Our current setup contain DSE 5.0.2 version with 3 node cluster.Currently we are facing issue with heavy load and node failure issue.Debug.log details is given below:

DEBUG [ReadRepairStage:8] 2016-09-27 14:11:58,781 ReadCallback.java:234-摘要不匹配:
org.apache.cassandra.service.DigestMismatchException:密钥DecoratedKey不匹配(5503649670304043860、343233 )(45cf191fb10d902dc052aa76f7f0b54d与ffa7b4097e7fa05de794371092c51c68)
,位于org.apache.cassandra.service.DigestResolver.resolve(DigestResolver.java:85)〜[cassandra-all-3.0.7.1159.jar $ 3.0.7.1 org.apache.cassandra.service.ReadCallback $ AsyncRepairRunner.run(ReadCallback.java:225)〜[cassandra-all-3.0.7.1159.jar:3.0.7.1159]
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142)[na:1.8.0_77]
,位于java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)[na:1.8.0_77]
,位于java .lang.Thread.run(Thread.java:745)[na:1.8.0_77]

DEBUG [ReadRepairStage:8] 2016-09-27 14:11:58,781 ReadCallback.java:234 - Digest mismatch: org.apache.cassandra.service.DigestMismatchException: Mismatch for key DecoratedKey(5503649670304043860, 343233) (45cf191fb10d902dc052aa76f7f0b54d vs ffa7b4097e7fa05de794371092c51c68) at org.apache.cassandra.service.DigestResolver.resolve(DigestResolver.java:85) ~[cassandra-all-3.0.7.1159.jar:3.0.7.1159] at org.apache.cassandra.service.ReadCallback$AsyncRepairRunner.run(ReadCallback.java:225) ~[cassandra-all-3.0.7.1159.jar:3.0.7.1159] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_77] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_77] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_77]

推荐答案

我是从您发布的错误的含义出发来回答这个问题的。但是,我不认为仅此一项会成为您问题的原因。

I'm answering this from the perspective of what the error you posted means. However I dont think this alone will be the cause of your problems. Without seeing all the logs from the nodes in your cluster it is hard to tell.

您发布的摘要不匹配,如果看不到群集中节点的所有日志,就很难说清。实际上来自读修复。此文档链接在较高级别上进行了解释(请注意,与文档所说的相反,读修复也可能在其他CL处受阻):

The Digest mismatch you posted actually comes from a read repair. This docs link explains it at a high level (note contrary to what the doc says, read repair can be blocking at other CLs too):

https://docs.datastax.com/zh-CN/cassandra/3.0/cassandra/operations/opsRepairNodesReadRepair .html

如果您看到读取修复次数过多,并且具有多个DC,则可能需要考虑设置 read_repair_chance 降低并增加 dclocal_read_repair_chance ,默认情况下iirc分别为0.1和0,因此并不总是最佳的。

If you are seeing too many read repairs and you have multiple DCs you might want to consider setting read_repair_chance lower and increasing dclocal_read_repair_chance, by default iirc they are 0.1 and 0 respectively so not always the most optimal.

我已经看到这些会导致读取超时,因为摘要不匹配会导致读取修复受阻。如果您认为这会引起问题,那么最好的选择是在cqlsh中使用跟踪运行查询,或者使用概率跟踪来记录查询,以便您可以追溯查看跟踪记录

I have seen these cause read timeouts as a digest mismatch can cause a blocking read repair. Your best bet if you think this is causing problems is to either run the query in cqlsh with tracing or use probabilistic tracing to log queries which you can view traces on in retrospect

文档链接:

https://docs.datastax.com/zh-CN/cql/3.3/cql/cql_reference/tracing_r.html

https://docs.datastax.com/zh-CN/cassandra/3.0/cassandra/tools/ toolsSetTraceProbability.html

这篇关于关键问题的Datastax不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆