incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mikael Wikblom <mikael.wikb...@sitevision.se>
Subject Re: Bootstrapping a new node to a running cluster
Date Thu, 15 Mar 2012 11:11:17 GMT
Hi Aaron,

On 03/15/2012 10:52 AM, aaron morton wrote:
>> 1. a running cluster of N=3,  R=3
>> 2. upgrade R to 4
> You should not be allowed to set the RF higher than the number of nodes.
I'm not sure why this is not allowed. As long as I do not use CL.all 
there will be enough nodes available to satisfy the read / write (at 
least when I look at ReadCallback and the WriteResponseHandler). Or am I 
missing something here?

>
> I'm going to assume that clients on the web server only talk to the 
> local cassandra. So that when you add the new cassandra node it will 
> not have any clients until you serve pages off the node.
Yes that's the general idea; wait until all data is available to the 
local node before accepting requests (i.e. starting the application).

Thank you for your reply
Regards
>
> 0. Personally I would run a repair before doing this to ensure the 
> data is fully distributed.
> 1. Optionally, increase the CL  QUOURM. See step 3.
> 2. Add the new node with auto_bootstrap off. It will join the ring, 
> write requests will be sent to it (from other cassandra nodes), but it 
> should not get any direct client reads. It will not stream data from 
> other nodes.
> 3. It is now possible for a READ to be received at an old node where 
> it is no longer a replica for the row. It has to send the request to 
> another node. If it is sent to the new node (at CL ONE) the read will 
> fail. If you are running at a high CL it will always involve the old 
> nodes.
> 4. Update the RF to 4. Every node is now a replica for every key.
> 5. Roll back the CL change.
> 6. Repair the new node.
> 7. Turn on the clients for the new node.
>
> Hope that helps.
>
> -----------------
> Aaron Morton
> Freelance Developer
> @aaronmorton
> http://www.thelastpickle.com
>
> On 15/03/2012, at 9:50 PM, Mikael Wikblom wrote:
>
>> Hi,
>>
>> I'm using cassandra (1.0.8) embedded in the same jvm as a 
>> webapplication. All data is available on all nodes (R = N),  read / 
>> write CL.ONE.
>>
>> Is it correct to assume in the following scenario that the newly 
>> added node has all data locally and that secondary indexes are fully 
>> created  after the bootstrap process finishes?
>>
>> scenario:
>> 1. a running cluster of N=3,  R=3
>> 2. upgrade R to 4
>> 3. bootstrap the new node
>>
>> I would like to avoid having to do the required repair on each node 
>> if I upgrade R to 4 after bootstrapping the new node.
>>
>> Thanks
>> Regards
>>
>> -- 
>> Mikael Wikblom
>> Software Architect
>> SiteVision AB
>> 019-217058
>> mikael.wikblom@sitevision.se <mailto:mikael.wikblom@sitevision.se>
>> http://www.sitevision.se
>>
>>
>>
>>
>


-- 
Mikael Wikblom
Software Architect
SiteVision AB
019-217058
mikael.wikblom@sitevision.se
http://www.sitevision.se


Mime
View raw message