You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Jay Parashar <jp...@itscape.com> on 2012/04/11 20:44:46 UTC

Initial token - newbie question (version 1.0.8)

I created a 3 node ring with the intial_token blank. Of course as expected,
Cassandra generated its own tokens on startup (e.g. tokens X, Y and Z)
The nodes or course were not properly balanced, so I did the following steps

	1)  stopped all the 3 nodes
	2) assigned initial_tokens (A, B, C) respectively
	3) Restarted the nodes

What I find if that the node were still using the original tokens (X, Y and
Z). Log messages say for node 1 show "Using saved token X"

I could rebalance suing nodetool and now the nodes are using the correct
tokens.

But the question is, why were the new tokens not read from the
Cassandra.yaml file? Without using nodetool, how do I make it get the token
from the yaml file? Where is it saved?

Another question: I could not find the auto_bootstrap in the yaml file as
per the documentation. Where is this param located?
Appreciate it.
Thanks in advance
Jay


RE: Initial token - newbie question (version 1.0.8)

Posted by Jay Parashar <jp...@itscape.com>.
Thanks everybody! Appreciate it.

 

From: Watanabe Maki [mailto:watanabe.maki@gmail.com] 
Sent: Wednesday, April 11, 2012 5:40 PM
To: user@cassandra.apache.org
Subject: Re: Initial token - newbie question (version 1.0.8)

 

auto_bootstrap parameter has been removed and always enabled since 1.0.

maki

 


On 2012/04/12, at 6:10, Paolo Bernardi <be...@gmail.com> wrote:

I think that setting auto_bootstrap = true or false into cassandra.yaml is enough (if it isn't there already just add it, for example, after initial_token)

Paolo

On Apr 11, 2012 10:34 PM, "Jay Parashar" <jp...@itscape.com> wrote:

Thanks a lot Jeremiah.
Also would you be able to tell me where to  configure the auto_bootstrap
parameter in version 1.0.8?

Thanks
Jay

-----Original Message-----
From: Jeremiah Jordan [mailto:JEREMIAH.JORDAN@morningstar.com]
Sent: Wednesday, April 11, 2012 3:03 PM
To: user@cassandra.apache.org
Subject: RE: Initial token - newbie question (version 1.0.8)

You have to use nodetool move to change the token after the node has started
the first time.  The value in the config file is only used on first startup.

Unless you were using RF=3 on your 3 node ring, you can't just start with a
new token without using nodetool.  You have to do move so that the data gets
put in the right place.

How you would do it with out nodetool:
Dangerous, not smart, can easily shoot yourself in the foot and lose your
data way, if you were RF = 3:
If you used RF=3, then all nodes should have all data, and you can stop all
nodes, remove the system keyspace data, and start up the new cluster with
the right stuff in the yaml file (blowing away system means this is like
starting a brand new cluster).  Then re-create all of your keyspaces/column
families and they will pick up the already existing data.

Though, if you are rf=3, nodetool move shouldn't be moving anything anyway,
so you should just do it the right way and use nodetool.

________________________________________
From: Jay Parashar [jparashar@itscape.com]
Sent: Wednesday, April 11, 2012 1:44 PM
To: user@cassandra.apache.org
Subject: Initial token - newbie question (version 1.0.8)

I created a 3 node ring with the intial_token blank. Of course as expected,
Cassandra generated its own tokens on startup (e.g. tokens X, Y and Z) The
nodes or course were not properly balanced, so I did the following steps

       1)  stopped all the 3 nodes
       2) assigned initial_tokens (A, B, C) respectively
       3) Restarted the nodes

What I find if that the node were still using the original tokens (X, Y and
Z). Log messages say for node 1 show "Using saved token X"

I could rebalance suing nodetool and now the nodes are using the correct
tokens.

But the question is, why were the new tokens not read from the
Cassandra.yaml file? Without using nodetool, how do I make it get the token
from the yaml file? Where is it saved?

Another question: I could not find the auto_bootstrap in the yaml file as
per the documentation. Where is this param located?
Appreciate it.
Thanks in advance
Jay




Re: Initial token - newbie question (version 1.0.8)

Posted by Watanabe Maki <wa...@gmail.com>.
auto_bootstrap parameter has been removed and always enabled since 1.0.

maki


On 2012/04/12, at 6:10, Paolo Bernardi <be...@gmail.com> wrote:

> I think that setting auto_bootstrap = true or false into cassandra.yaml is enough (if it isn't there already just add it, for example, after initial_token)
> 
> Paolo
> 
> On Apr 11, 2012 10:34 PM, "Jay Parashar" <jp...@itscape.com> wrote:
> Thanks a lot Jeremiah.
> Also would you be able to tell me where to  configure the auto_bootstrap
> parameter in version 1.0.8?
> 
> Thanks
> Jay
> 
> -----Original Message-----
> From: Jeremiah Jordan [mailto:JEREMIAH.JORDAN@morningstar.com]
> Sent: Wednesday, April 11, 2012 3:03 PM
> To: user@cassandra.apache.org
> Subject: RE: Initial token - newbie question (version 1.0.8)
> 
> You have to use nodetool move to change the token after the node has started
> the first time.  The value in the config file is only used on first startup.
> 
> Unless you were using RF=3 on your 3 node ring, you can't just start with a
> new token without using nodetool.  You have to do move so that the data gets
> put in the right place.
> 
> How you would do it with out nodetool:
> Dangerous, not smart, can easily shoot yourself in the foot and lose your
> data way, if you were RF = 3:
> If you used RF=3, then all nodes should have all data, and you can stop all
> nodes, remove the system keyspace data, and start up the new cluster with
> the right stuff in the yaml file (blowing away system means this is like
> starting a brand new cluster).  Then re-create all of your keyspaces/column
> families and they will pick up the already existing data.
> 
> Though, if you are rf=3, nodetool move shouldn't be moving anything anyway,
> so you should just do it the right way and use nodetool.
> 
> ________________________________________
> From: Jay Parashar [jparashar@itscape.com]
> Sent: Wednesday, April 11, 2012 1:44 PM
> To: user@cassandra.apache.org
> Subject: Initial token - newbie question (version 1.0.8)
> 
> I created a 3 node ring with the intial_token blank. Of course as expected,
> Cassandra generated its own tokens on startup (e.g. tokens X, Y and Z) The
> nodes or course were not properly balanced, so I did the following steps
> 
>        1)  stopped all the 3 nodes
>        2) assigned initial_tokens (A, B, C) respectively
>        3) Restarted the nodes
> 
> What I find if that the node were still using the original tokens (X, Y and
> Z). Log messages say for node 1 show "Using saved token X"
> 
> I could rebalance suing nodetool and now the nodes are using the correct
> tokens.
> 
> But the question is, why were the new tokens not read from the
> Cassandra.yaml file? Without using nodetool, how do I make it get the token
> from the yaml file? Where is it saved?
> 
> Another question: I could not find the auto_bootstrap in the yaml file as
> per the documentation. Where is this param located?
> Appreciate it.
> Thanks in advance
> Jay
> 
> 

RE: Initial token - newbie question (version 1.0.8)

Posted by Paolo Bernardi <be...@gmail.com>.
I think that setting auto_bootstrap = true or false into cassandra.yaml is
enough (if it isn't there already just add it, for example, after
initial_token)

Paolo
On Apr 11, 2012 10:34 PM, "Jay Parashar" <jp...@itscape.com> wrote:

> Thanks a lot Jeremiah.
> Also would you be able to tell me where to  configure the auto_bootstrap
> parameter in version 1.0.8?
>
> Thanks
> Jay
>
> -----Original Message-----
> From: Jeremiah Jordan [mailto:JEREMIAH.JORDAN@morningstar.com]
> Sent: Wednesday, April 11, 2012 3:03 PM
> To: user@cassandra.apache.org
> Subject: RE: Initial token - newbie question (version 1.0.8)
>
> You have to use nodetool move to change the token after the node has
> started
> the first time.  The value in the config file is only used on first
> startup.
>
> Unless you were using RF=3 on your 3 node ring, you can't just start with a
> new token without using nodetool.  You have to do move so that the data
> gets
> put in the right place.
>
> How you would do it with out nodetool:
> Dangerous, not smart, can easily shoot yourself in the foot and lose your
> data way, if you were RF = 3:
> If you used RF=3, then all nodes should have all data, and you can stop all
> nodes, remove the system keyspace data, and start up the new cluster with
> the right stuff in the yaml file (blowing away system means this is like
> starting a brand new cluster).  Then re-create all of your keyspaces/column
> families and they will pick up the already existing data.
>
> Though, if you are rf=3, nodetool move shouldn't be moving anything anyway,
> so you should just do it the right way and use nodetool.
>
> ________________________________________
> From: Jay Parashar [jparashar@itscape.com]
> Sent: Wednesday, April 11, 2012 1:44 PM
> To: user@cassandra.apache.org
> Subject: Initial token - newbie question (version 1.0.8)
>
> I created a 3 node ring with the intial_token blank. Of course as expected,
> Cassandra generated its own tokens on startup (e.g. tokens X, Y and Z) The
> nodes or course were not properly balanced, so I did the following steps
>
>        1)  stopped all the 3 nodes
>        2) assigned initial_tokens (A, B, C) respectively
>        3) Restarted the nodes
>
> What I find if that the node were still using the original tokens (X, Y and
> Z). Log messages say for node 1 show "Using saved token X"
>
> I could rebalance suing nodetool and now the nodes are using the correct
> tokens.
>
> But the question is, why were the new tokens not read from the
> Cassandra.yaml file? Without using nodetool, how do I make it get the token
> from the yaml file? Where is it saved?
>
> Another question: I could not find the auto_bootstrap in the yaml file as
> per the documentation. Where is this param located?
> Appreciate it.
> Thanks in advance
> Jay
>
>
>

RE: Initial token - newbie question (version 1.0.8)

Posted by Jay Parashar <jp...@itscape.com>.
Thanks a lot Jeremiah.
Also would you be able to tell me where to  configure the auto_bootstrap
parameter in version 1.0.8?

Thanks
Jay

-----Original Message-----
From: Jeremiah Jordan [mailto:JEREMIAH.JORDAN@morningstar.com] 
Sent: Wednesday, April 11, 2012 3:03 PM
To: user@cassandra.apache.org
Subject: RE: Initial token - newbie question (version 1.0.8)

You have to use nodetool move to change the token after the node has started
the first time.  The value in the config file is only used on first startup.

Unless you were using RF=3 on your 3 node ring, you can't just start with a
new token without using nodetool.  You have to do move so that the data gets
put in the right place.

How you would do it with out nodetool:
Dangerous, not smart, can easily shoot yourself in the foot and lose your
data way, if you were RF = 3:
If you used RF=3, then all nodes should have all data, and you can stop all
nodes, remove the system keyspace data, and start up the new cluster with
the right stuff in the yaml file (blowing away system means this is like
starting a brand new cluster).  Then re-create all of your keyspaces/column
families and they will pick up the already existing data.

Though, if you are rf=3, nodetool move shouldn't be moving anything anyway,
so you should just do it the right way and use nodetool.

________________________________________
From: Jay Parashar [jparashar@itscape.com]
Sent: Wednesday, April 11, 2012 1:44 PM
To: user@cassandra.apache.org
Subject: Initial token - newbie question (version 1.0.8)

I created a 3 node ring with the intial_token blank. Of course as expected,
Cassandra generated its own tokens on startup (e.g. tokens X, Y and Z) The
nodes or course were not properly balanced, so I did the following steps

        1)  stopped all the 3 nodes
        2) assigned initial_tokens (A, B, C) respectively
        3) Restarted the nodes

What I find if that the node were still using the original tokens (X, Y and
Z). Log messages say for node 1 show "Using saved token X"

I could rebalance suing nodetool and now the nodes are using the correct
tokens.

But the question is, why were the new tokens not read from the
Cassandra.yaml file? Without using nodetool, how do I make it get the token
from the yaml file? Where is it saved?

Another question: I could not find the auto_bootstrap in the yaml file as
per the documentation. Where is this param located?
Appreciate it.
Thanks in advance
Jay



RE: Initial token - newbie question (version 1.0.8)

Posted by Jeremiah Jordan <JE...@morningstar.com>.
You have to use nodetool move to change the token after the node has started the first time.  The value in the config file is only used on first startup.

Unless you were using RF=3 on your 3 node ring, you can't just start with a new token without using nodetool.  You have to do move so that the data gets put in the right place.

How you would do it with out nodetool:
Dangerous, not smart, can easily shoot yourself in the foot and lose your data way, if you were RF = 3:
If you used RF=3, then all nodes should have all data, and you can stop all nodes, remove the system keyspace data, and start up the new cluster with the right stuff in the yaml file (blowing away system means this is like starting a brand new cluster).  Then re-create all of your keyspaces/column families and they will pick up the already existing data.

Though, if you are rf=3, nodetool move shouldn't be moving anything anyway, so you should just do it the right way and use nodetool.

________________________________________
From: Jay Parashar [jparashar@itscape.com]
Sent: Wednesday, April 11, 2012 1:44 PM
To: user@cassandra.apache.org
Subject: Initial token - newbie question (version 1.0.8)

I created a 3 node ring with the intial_token blank. Of course as expected,
Cassandra generated its own tokens on startup (e.g. tokens X, Y and Z)
The nodes or course were not properly balanced, so I did the following steps

        1)  stopped all the 3 nodes
        2) assigned initial_tokens (A, B, C) respectively
        3) Restarted the nodes

What I find if that the node were still using the original tokens (X, Y and
Z). Log messages say for node 1 show "Using saved token X"

I could rebalance suing nodetool and now the nodes are using the correct
tokens.

But the question is, why were the new tokens not read from the
Cassandra.yaml file? Without using nodetool, how do I make it get the token
from the yaml file? Where is it saved?

Another question: I could not find the auto_bootstrap in the yaml file as
per the documentation. Where is this param located?
Appreciate it.
Thanks in advance
Jay