There was a webinar (Datastax C*llege) about Vnodes. It will be available soon there I guess: http://www.datastax.com/resources/webinars/collegecredit. You could have watch it live and ask your own questions.
Here is a howto: http://www.datastax.com/dev/blog/upgrading-an-existing-cluster-to-vnodes Alain 2013/2/15 Daning Wang <dan...@netseer.com> > Thanks! suppose I can upgrade to 1.2.x with 1 token by commenting out > num_tokens, how can I changed to multiple tokens? could not find doc > clearly stating about this. > > > On Thu, Feb 14, 2013 at 10:54 AM, Alain RODRIGUEZ <arodr...@gmail.com>wrote: > >> From: >> http://www.datastax.com/docs/1.2/configuration/node_configuration#num-tokens >> >> About num_tokens: "If left unspecified, Cassandra uses the default value >> of 1 token (for legacy compatibility) and uses the initial_token. If you >> already have a cluster with one token per node, and wish to migrate to >> multiple tokens per node". >> >> So I would let "#num_tokens" commented in the cassandra.yaml and would >> set the initial_token at the same value than in the pre-C*1.2.x-uprage >> configuration. >> >> Alain >> >> >> 2013/2/14 Daning Wang <dan...@netseer.com> >> >>> Thanks Aaron and Manu. >>> >>> Since we are using 1.1, there is no num_taken parameter. when I upgrade >>> to 1.2, should I set num_token=1 to start up, or I can set to other >>> numbers? >>> >>> Daning >>> >>> >>> >>> >>> On Tue, Feb 12, 2013 at 3:45 PM, Manu Zhang <owenzhang1...@gmail.com>wrote: >>> >>>> num_tokens is only used at bootstrap >>>> >>>> I think it's also used in this case (already bootstrapped with >>>> num_tokens = 1 and now num_tokens > 1). Cassandra will split a node's >>>> current range into *num_tokens* parts and there should be no change to the >>>> amount of ring a node holds before shuffling. >>>> >>>> >>>> On Wed, Feb 13, 2013 at 3:12 AM, aaron morton >>>> <aa...@thelastpickle.com>wrote: >>>> >>>>> Restore the settings for num_tokens and intial_token to what they were >>>>> before you upgraded. >>>>> They should not be changed just because you are upgrading to 1.2, they >>>>> are used to enable virtual nodes. Which are not necessary to run 1.2. >>>>> >>>>> Cheers >>>>> >>>>> >>>>> ----------------- >>>>> Aaron Morton >>>>> Freelance Cassandra Developer >>>>> New Zealand >>>>> >>>>> @aaronmorton >>>>> http://www.thelastpickle.com >>>>> >>>>> On 13/02/2013, at 8:02 AM, Daning Wang <dan...@netseer.com> wrote: >>>>> >>>>> No, I did not run shuffle since the upgrade was not successful. >>>>> >>>>> what do you mean "reverting the changes to num_tokens and >>>>> inital_token"? set num_tokens=1? initial_token should be ignored since it >>>>> is not bootstrap. right? >>>>> >>>>> Thanks, >>>>> >>>>> Daning >>>>> >>>>> On Tue, Feb 12, 2013 at 10:52 AM, aaron morton < >>>>> aa...@thelastpickle.com> wrote: >>>>> >>>>>> Were you upgrading to 1.2 AND running the shuffle or just upgrading >>>>>> to 1.2? >>>>>> >>>>>> If you have not run shuffle I would suggest reverting the changes to >>>>>> num_tokens and inital_token. This is a guess because num_tokens is only >>>>>> used at bootstrap. >>>>>> >>>>>> Just get upgraded to 1.2 first, then do the shuffle when things are >>>>>> stable. >>>>>> >>>>>> Cheers >>>>>> >>>>>> ----------------- >>>>>> Aaron Morton >>>>>> Freelance Cassandra Developer >>>>>> New Zealand >>>>>> >>>>>> @aaronmorton >>>>>> http://www.thelastpickle.com >>>>>> >>>>>> On 12/02/2013, at 2:55 PM, Daning Wang <dan...@netseer.com> wrote: >>>>>> >>>>>> Thanks Aaron. >>>>>> >>>>>> I tried to migrate existing cluster(ver 1.1.0) to 1.2.1 but failed. >>>>>> >>>>>> - I followed http://www.datastax.com/docs/1.2/install/upgrading, have >>>>>> merged cassandra.yaml, with follow parameter >>>>>> >>>>>> num_tokens: 256 >>>>>> #initial_token: 0 >>>>>> >>>>>> the initial_token is commented out, current token should be obtained >>>>>> from system schema >>>>>> >>>>>> - I did rolling upgrade, during the upgrade, I got "Borken Pipe" >>>>>> error from the nodes with old version, is that normal? >>>>>> >>>>>> - After I upgraded 3 nodes(still have 5 to go), I found it is total >>>>>> wrong, the first node upgraded owns 99.2 of ring >>>>>> >>>>>> [cassy@d5:/usr/local/cassy conf]$ ~/bin/nodetool -h localhost status >>>>>> Datacenter: datacenter1 >>>>>> ======================= >>>>>> Status=Up/Down >>>>>> |/ State=Normal/Leaving/Joining/Moving >>>>>> -- Address Load Tokens Owns Host ID >>>>>> Rack >>>>>> DN 10.210.101.117 45.01 GB 254 99.2% >>>>>> f4b6afe3-7e2e-4c61-96e8-12a529a31373 rack1 >>>>>> UN 10.210.101.120 45.43 GB 256 0.4% >>>>>> 0fd912fb-3187-462b-8c8a-7d223751b649 rack1 >>>>>> UN 10.210.101.111 27.08 GB 256 0.4% >>>>>> bd4c37bc-07dd-488b-bfab-e74e32c26f6e rack1 >>>>>> >>>>>> >>>>>> What was wrong? please help. I could provide more information if you >>>>>> need. >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Daning >>>>>> >>>>>> >>>>>> >>>>>> On Mon, Feb 4, 2013 at 9:16 AM, aaron morton <aa...@thelastpickle.com >>>>>> > wrote: >>>>>> >>>>>>> There is a command line utility in 1.2 to shuffle the tokens… >>>>>>> >>>>>>> >>>>>>> http://www.datastax.com/dev/blog/upgrading-an-existing-cluster-to-vnodes >>>>>>> >>>>>>> $ ./cassandra-shuffle --help >>>>>>> Missing sub-command argument. >>>>>>> Usage: shuffle [options] <sub-command> >>>>>>> >>>>>>> Sub-commands: >>>>>>> create Initialize a new shuffle operation >>>>>>> ls List pending relocations >>>>>>> clear Clear pending relocations >>>>>>> en[able] Enable shuffling >>>>>>> dis[able] Disable shuffling >>>>>>> >>>>>>> Options: >>>>>>> -dc, --only-dc Apply only to named DC (create only) >>>>>>> -tp, --thrift-port Thrift port number (Default: 9160) >>>>>>> -p, --port JMX port number (Default: 7199) >>>>>>> -tf, --thrift-framed Enable framed transport for Thrift >>>>>>> (Default: false) >>>>>>> -en, --and-enable Immediately enable shuffling (create only) >>>>>>> -H, --help Print help information >>>>>>> -h, --host JMX hostname or IP address (Default: >>>>>>> localhost) >>>>>>> -th, --thrift-host Thrift hostname or IP address (Default: >>>>>>> JMX host) >>>>>>> >>>>>>> Cheers >>>>>>> >>>>>>> ----------------- >>>>>>> Aaron Morton >>>>>>> Freelance Cassandra Developer >>>>>>> New Zealand >>>>>>> >>>>>>> @aaronmorton >>>>>>> http://www.thelastpickle.com >>>>>>> >>>>>>> On 3/02/2013, at 11:32 PM, Manu Zhang <owenzhang1...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>> On Sun 03 Feb 2013 05:45:56 AM CST, Daning Wang wrote: >>>>>>> >>>>>>> I'd like to upgrade from 1.1.6 to 1.2.1, one big feature in 1.2 is >>>>>>> that it can have multiple tokens in one node. but there is only one >>>>>>> token in 1.1.6. >>>>>>> >>>>>>> how can I upgrade to 1.2.1 then breaking the token to take advantage >>>>>>> of this feature? I went through this doc but it does not say how to >>>>>>> change the num_token >>>>>>> >>>>>>> http://www.datastax.com/docs/1.2/install/upgrading >>>>>>> >>>>>>> Is there other doc about this upgrade path? >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Daning >>>>>>> >>>>>>> >>>>>>> I think for each node you need to change the num_token option in >>>>>>> conf/cassandra.yaml (this only split the current range into num_token >>>>>>> parts) and run the bin/cassandra-shuffle command (this spread it all >>>>>>> over >>>>>>> the ring). >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>> >> >