【问题标题】:Cassandra digest mismatch exception running docker container in DCOS在 DCOS 中运行 docker 容器的 Cassandra 摘要不匹配异常
【发布时间】:2017-10-13 11:40:56
【问题描述】:

Cassandra 出现摘要不匹配错误。在所有节点上重新启动服务没有帮助。

ERROR 10:55:11 Exception in thread Thread[HintsDispatcher:2,1,main]
org.apache.cassandra.io.FSReadError: java.io.IOException: Digest mismatch exception
at org.apache.cassandra.hints.HintsReader$HintsIterator.computeNext(HintsReader.java:199) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsReader$HintsIterator.computeNext(HintsReader.java:164) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.utils.AbstractIterator.hasNext(AbstractIterator.java:47) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsDispatcher.sendHints(HintsDispatcher.java:157) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsDispatcher.sendHintsAndAwait(HintsDispatcher.java:139) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:123) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsDispatcher.dispatch(HintsDispatcher.java:95) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:268) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:251) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:229) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:208) ~[apache-cassandra-3.0.14.jar:3.0.14]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_131]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at org.apache.cassandra.concurrent.NamedThreadFactory.lambda$threadLocalDeallocator$0(NamedThreadFactory.java:79) [apache-cassandra-3.0.14.jar:3.0.14]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_131]
Caused by: java.io.IOException: Digest mismatch exception
at org.apache.cassandra.hints.HintsReader$HintsIterator.computeNextInternal(HintsReader.java:216) ~[apache-cassandra-3.0.14.jar:3.0.14]
at org.apache.cassandra.hints.HintsReader$HintsIterator.computeNext(HintsReader.java:190) ~[apache-cassandra-3.0.14.jar:3.0.14]
... 16 common frames omitted

经过一番挖掘,我发现了这个https://issues.apache.org/jira/browse/CASSANDRA-13696,我认为我需要删除提示文件,以便节点可以进入一致状态,但 cassandra 正在 DCOS/mesosphere 中运行,我无法连接 nodetool 以截断提示文件

有什么方法可以删除提示文件?或任何其他方式使集群一致?提前致谢。

【问题讨论】:

    标签: cassandra mesos mesosphere dcos


    【解决方案1】:

    您的文件可能已损坏。

    我会尝试将您的数据保存在由 Rex-Ray 之类的东西管理的挂载点中

    【讨论】:

    • 谢谢。现在我们已经重新创建了集群并重新填充了数据,但我们找不到问题的解决方案,我认为这是由于提示文件损坏造成的。我们能够暂时连接到节点上的 cqlsh,然后它们就失败了。
    猜你喜欢
    • 2018-04-20
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多