It can result in a lot of data on the node you run repair on. Where a lot means perhaps 2 or more times more data.
My unscientific approach is to repair one CF at a time so you can watch the disk usage and repair the smaller CF's first. After the repair compact if you need to. I think the amount of extra data will be related to how out of sync things are, so once you get repair working smoothly it will be less of problem. Cheers ----------------- Aaron Morton Freelance Cassandra Developer @aaronmorton http://www.thelastpickle.com On 23/09/2011, at 3:04 AM, Yan Chunlu wrote: > > hi Aaron: > > could you explain more about the issue about repair make space usage going > crazy? > > I am planning to upgrade my cluster from 0.7.4 to 0.8.6, which is because the > repair never works on 0.7.4 for me. > more specifically, CASSANDRA-2280 and CASSANDRA-2156. > > > from your description, I really worried about 0.8.6 might make it worse... > > thanks! > > On Thu, Sep 22, 2011 at 7:25 AM, aaron morton <aa...@thelastpickle.com> wrote: > How much data is on the nodes in cluster 1 and how much disk space on cluster > 2 ? Be aware that Cassandra 0.8 has an issue where repair can go crazy and > use a lot of space. > > If you are not regularly running repair I would also repair before the move. > > The repair after the copy is a good idea but should technically not be > necessary. If you can practice the move watch the repair to see if much is > transferred (check the logs). There is always a small transfer, but if you > see data been transferred for several minutes I would investigate. > > When you start a repair it will repair will the other nodes it replicates > data with. So you only need to run it every RF nodes. Start it one one, watch > the logs to see who it talks to and then start it on the first node it does > not talk to. And so on. > > Add a snapshot before the clean (repair will also snapshot before it runs) > > Scrub is not needed unless you are migrating or you have file errors. > > If your cluster is online, consider running the clean every RFth node rather > than all at once (e.g. 1,4, 7, 10 then 2,5,8,11). It will have less impact on > clients. > > Cheers > > ----------------- > Aaron Morton > Freelance Cassandra Developer > @aaronmorton > http://www.thelastpickle.com > > On 22/09/2011, at 10:27 AM, Philippe wrote: > >> Hello, >> We're currently running on a 3-node RF=3 cluster. Now that we have a better >> grip on things, we want to replace it with a 12-node RF=3 cluster of >> "smaller" servers. So I wonder what the best way to move the data to the new >> cluster would be. I can afford to stop writing to the current cluster for >> whatever time is necessary. Has anyone written up something on this subject ? >> >> My plan is the following (nodes in cluster 1 are node1.1->1.3, nodes in >> cluster 2 are node2.1->2.12) >> stop writing to current cluster & drain it >> get a snapshot on each node >> Since it's RF=3, each node should have all the data, so assuming I set the >> tokens correctly I would move the snapshot from node1.1 to node2.1, 2.2, 2.3 >> and 2.4 then node1.2->node2.5,2.6,2.,2.8, etc. This is because the range for >> node1.1 is now spread across 2.1->2.4 >> Run repair & clean & scrub on each node (more or less in //) >> What do you think ? >> Thanks > >