运行elassandra 5.5.0.18(cassandra 3.11.2)
我已经设置了一个包含2个节点的测试集群。 RF =2。我希望引导后两个节点都具有相同的数据。
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
当我将数据添加到节点1时,我看到它被复制到节点2(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)
我在做什么错了?