运行elassandra 5.5.0.18(cassandra 3.11.2)

我已经设置了一个包含2个节点的测试集群 . RF = 2.我希望两个节点在bootstrap之后具有相同的数据 .

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load       Tokens       Owns (effective)  Host ID                               Rack
UN  xxx.xxx.2.40   1.31 MiB   256          100.0%            388acf50-96c0-4294-938f-be56437bbf82  rack1
UN  xxx.xxx.0.236  2.8 MiB    256          100.0%            8eed1e55-1b58-4599-a021-82b6852875aa  rack1

当我向node1添加数据时,我看到它被复制到node2(cqlsh直接到节点) . 但是node2只有新数据,来自node1的数据(在引导过程之前一直存在)不会被复制 .

我尝试运行nodetool修复,但它失败并显示以下错误消息

Validation failed in /xxx.xxx.0.236 (progress: 0%)
[2018-06-27 13:49:19,438] Some repair failed
[2018-06-27 13:49:19,440] Repair command #1 finished in 9 seconds
error: Repair job has failed with the error message: [2018-06-27 13:49:19,438] Some repair failed
-- StackTrace --
java.lang.RuntimeException: Repair job has failed with the error message: [2018-06-27 13:49:19,438] Some repair failed
    at org.apache.cassandra.tools.RepairRunner.progress(RepairRunner.java:116)
    at org.apache.cassandra.utils.progress.jmx.JMXNotificationProgressListener.handleNotification(JMXNotificationProgressListener.java:77)
    at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.dispatchNotification(ClientNotifForwarder.java:583)
    at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.doRun(ClientNotifForwarder.java:533)
    at com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(ClientNotifForwarder.java:452)
    at com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(ClientNotifForwarder.java:108)

我究竟做错了什么?