move first removes the node from the cluster, then adds it back http://wiki.apache.org/cassandra/Operations#Moving_nodes
If you have 3 nodes and rf 3, removing the node will result in the error you are seeing. There is not enough nodes in the cluster to implement the replication factor. You can drop the RF down to 2 temporarily and then put it back to 3 later, see http://wiki.apache.org/cassandra/Operations#Replication Cheers ----------------- Aaron Morton Freelance Cassandra Developer @aaronmorton http://www.thelastpickle.com On 5 Aug 2011, at 03:39, Yan Chunlu wrote: > hi, any help? thanks! > > On Thu, Aug 4, 2011 at 5:02 AM, Yan Chunlu <springri...@gmail.com> wrote: > forgot to mention I am using cassandra 0.7.4 > > > On Thu, Aug 4, 2011 at 5:00 PM, Yan Chunlu <springri...@gmail.com> wrote: > also nothing happens about the streaming: > > nodetool -h node3 netstats > Mode: Normal > Not sending any streams. > Nothing streaming from /10.28.53.11 > Pool Name Active Pending Completed > Commands n/a 0 165086750 > Responses n/a 0 99372520 > > > > On Thu, Aug 4, 2011 at 4:56 PM, Yan Chunlu <springri...@gmail.com> wrote: > sorry the ring info should be this: > > nodetool -h node3 ring > Address Status State Load Owns Token > > > 84944475733633104818662955375549269696 > node1 Up Normal 13.18 GB 81.09% > 52773518586096316348543097376923124102 > node2 Up Normal 22.85 GB 10.48% > 70597222385644499881390884416714081360 > node3 Up Leaving 25.44 GB 8.43% > 84944475733633104818662955375549269696 > > > > On Thu, Aug 4, 2011 at 4:55 PM, Yan Chunlu <springri...@gmail.com> wrote: > I have tried the nodetool move but get the following error.... > > node3:~# nodetool -h node3 move 0 > Exception in thread "main" java.lang.IllegalStateException: replication > factor (3) exceeds number of endpoints (2) > at > org.apache.cassandra.locator.SimpleStrategy.calculateNaturalEndpoints(SimpleStrategy.java:60) > at > org.apache.cassandra.service.StorageService.calculatePendingRanges(StorageService.java:930) > at > org.apache.cassandra.service.StorageService.calculatePendingRanges(StorageService.java:896) > at > org.apache.cassandra.service.StorageService.startLeaving(StorageService.java:1596) > at > org.apache.cassandra.service.StorageService.move(StorageService.java:1734) > at > org.apache.cassandra.service.StorageService.move(StorageService.java:1709) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427) > at > javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788) > at sun.reflect.GeneratedMethodAccessor108.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305) > at sun.rmi.transport.Transport$1.run(Transport.java:159) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:155) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) > at java.lang.Thread.run(Thread.java:662) > > > > > then nodetool shows the node is leaving.... > > > nodetool -h node3 ring > Address Status State Load Owns Token > > > 84944475733633104818662955375549269696 > node1 Up Normal 13.18 GB 81.09% > 52773518586096316348543097376923124102 > node2 Up Normal 22.85 GB 10.48% > 70597222385644499881390884416714081360 > node3 Up Leaving 25.44 GB 8.43% > 84944475733633104818662955375549269696 > > the log didn't show any error message neither anything abnormal. is there > something wrong? > > > I used to have RF=2, and changed it to RF=3 using cassandra-cli. > > > On Mon, Aug 1, 2011 at 10:22 AM, Yan Chunlu <springri...@gmail.com> wrote: > thanks a lot! I will try the "move". > > > On Mon, Aug 1, 2011 at 7:07 AM, mcasandra <mohitanch...@gmail.com> wrote: > > springrider wrote: > > > > is that okay to do nodetool move before a completely repair? > > > > using this equation? > > def tokens(nodes): > > > > - for x in xrange(nodes): > > - print 2 ** 127 / nodes * x > > > > Yes use that logic to get the tokens. I think it's safe to run move first > and reair later. You are moving some nodes data as is so it's no worse than > what you have right now. > > -- > View this message in context: > http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/how-to-solve-one-node-is-in-heavy-load-in-unbalanced-cluster-tp6630827p6639317.html > Sent from the cassandra-u...@incubator.apache.org mailing list archive at > Nabble.com. > > > > > >