【问题标题】:Nodetool repair validate/preview is not executed未执行 Nodetool 修复验证/预览
【发布时间】:2018-07-24 01:47:14
【问题描述】:

我在 Windows 机器上运行 2 节点测试集群。

  • 复制因子:2

  • Cassandra 版本:3.10

由于某种原因,带有 --validate--preview 标志的 nodetool repair 命令根本没有执行,看起来像是解析错误.我不太确定它是与 Windows 连接还是我做错了什么。以下是 validate 标志的结果(preview 标志收到了类似的结果):

C:\apache-cassandra\bin>nodetool repair --validate
nodetool: Keyspace [--validate] does not exist.

C:\apache-cassandra\bin>nodetool repair TSDB --validate
[2018-02-13 19:03:49,474] Unknown keyspace/cf pair (TSDB.--validate)
[2018-02-13 19:03:49,475] Repair command #13 finished with error
error: Repair job has failed with the error message: [2018-02-13 19:03:49,474] Unknown keyspace/cf pair (TSDB
.--validate)
-- StackTrace --
java.lang.RuntimeException: Repair job has failed with the error message: [2018-02-13 19:03:49,474] Unknown k
eyspace/cf pair (TSDB.--validate)
        at org.apache.cassandra.tools.RepairRunner.progress(RepairRunner.java:116)
        at org.apache.cassandra.utils.progress.jmx.JMXNotificationProgressListener.handleNotification(JMXNoti
ficationProgressListener.java:77)
        at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.dispatchNotification(Unknown Source)

        at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.doRun(Unknown Source)
        at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(Unknown Source)
        at com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(Unknown Source)


C:\apache-cassandra\bin>nodetool repair TSDB snapshots --validate
[2018-02-13 19:04:05,185] Unknown keyspace/cf pair (TSDB.--validate)
[2018-02-13 19:04:05,186] Repair command #14 finished with error
error: Repair job has failed with the error message: [2018-02-13 19:04:05,185] Unknown keyspace/cf pair (TSDB
.--validate)
-- StackTrace --
java.lang.RuntimeException: Repair job has failed with the error message: [2018-02-13 19:04:05,185] Unknown k
eyspace/cf pair (TSDB.--validate)
        at org.apache.cassandra.tools.RepairRunner.progress(RepairRunner.java:116)
        at org.apache.cassandra.utils.progress.jmx.JMXNotificationProgressListener.handleNotification(JMXNoti
ficationProgressListener.java:77)
        at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.dispatchNotification(Unknown Source)

        at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.doRun(Unknown Source)
        at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(Unknown Source)
        at com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(Unknown Source)

任何想法如何克服此错误并在进行修复之前启动验证?

【问题讨论】:

    标签: cassandra nodetool


    【解决方案1】:

    此版本中没有--validate--preview 选项。直到 4.0。验证修复作为修复的一部分自动发生,您无需指定它。您还不能单独运行它来测试一致性。

    【讨论】:

    • 感谢您这么快的回答。所以根本就没有快速的方法来检查 3.x 中的一致性吗?
    • 您可以运行修复并查看日志,如果有差异,它将报告。
    猜你喜欢
    • 2021-06-18
    • 1970-01-01
    • 2018-09-13
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多