Cassandra 卡桑德拉的节点退役

Cassandra 卡桑德拉的节点退役,cassandra,cassandra-2.0,Cassandra,Cassandra 2.0,当我试图使一个活动节点退役时,我遇到了以下异常。手册中没有提到我需要停止进入此节点的数据。即使如此,仍为活动节点指定退役 有人能告诉我我是否做错了什么,或者这是卡桑德拉的错误吗 使用的Cassandra版本:2.0.3 Exception in thread "main" java.lang.UnsupportedOperationException: data is currently moving to this node; unable to leave the ring at o

当我试图使一个活动节点退役时,我遇到了以下异常。手册中没有提到我需要停止进入此节点的数据。即使如此,仍为活动节点指定退役

有人能告诉我我是否做错了什么,或者这是卡桑德拉的错误吗

使用的Cassandra版本:2.0.3

Exception in thread "main" java.lang.UnsupportedOperationException:
data is currently moving to this node; unable to leave the ring     at
org.apache.cassandra.service.StorageService.decommission(StorageService.java:2629)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)     at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111)
    at
com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45)
    at
com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:235)
    at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
    at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:250)
    at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:791)
    at
javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1486)
    at
javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:96)
    at
javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1327)
    at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1419)
    at
javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:847)
    at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)     at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)     at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
    at sun.rmi.transport.Transport$1.run(Transport.java:177)    at
sun.rmi.transport.Transport$1.run(Transport.java:174)   at
java.security.AccessController.doPrivileged(Native Method)  at
sun.rmi.transport.Transport.serviceCall(Transport.java:173)     at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
    at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
    at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
    at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

你使用了哪个命令
nodetool停用
?是的。我使用了./nodetool停用。您是否试图一次停用多个节点?否。我一次停用一个节点。但是,您能告诉我为什么要尝试将一次停用多个节点与此关联吗?当您停用一个节点时,其关键范围将在其余节点之间分割并流化。在这段时间内,这些节点被标记为“此节点正在从另一个节点接收数据”,因为如果您解除其中任何一个正确的节点的工作,则该数据将丢失。出于某种原因,只有一个设备退役时,这种情况才会发生在您身上。是新群集还是最近添加了新节点?