You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by "Hiller, Dean" <De...@nrel.gov> on 2013/06/24 15:26:44 UTC

quick question on seed nodes configuration

For ease of use, we actually had a single cassandra.yaml deployed to every machine and a script that swapped out the token and listen address.  I had seed nodes ip1,ip2,ip3 as the seeds but what I didn't realize was then that these nodes had themselves as seeds.  I am assuming that should never be done, is that correct.  I really should deploy ip1, ip2, ip3 on all nodes and then for nodes 1, 2, and 3, I should do something like

ip1 will have ip2, ip3, ip4
ip2 will have ip1, ip3, ip4
Etc. etc.

QUESTION: Would it be ok if I just configured every node to be the 3 ip's after it like this instead as well
ip1 would have ip2, ip3, ip4
ip2 would have ip3, ip4, ip5
ip3 would have ip4, ip5, ip6
ip4 would have ip5, ip6, ip1

Is this okay for seed node configuration?

Thanks,
Dean


Re: quick question on seed nodes configuration

Posted by aaron morton <aa...@thelastpickle.com>.
>  I had seed nodes ip1,ip2,ip3 as the seeds but what I didn't realize was then that these nodes had themselves as seeds.  I am assuming that should never be done, is that correct. 
The only reason nodes listing them selves as seeds can be a pain is during bootstrap. Seeds nodes will not stream data to themselves. 

> QUESTION: Would it be ok if I just configured every node to be the 3 ip's after it like this instead as well
It's generally accepted to list the same 3 nodes from each DC on all nodes. 
 
> So, the most secure way is to write all your other nodes as seed, 
This may have a small impact on gossip. Gossip rounds go to a live node, a down node with some probability and a seed node with some probability. 

                /* Gossip with the seed with some probability. */
                double probability = seeds.size() / (double)( liveEndpoints.size() + unreachableEndpoints.size() );
                double randDbl = random.nextDouble();
                if ( randDbl <= probability )
                    sendGossip(prod, seeds);

If you have every node a seed it looks like you would always gossip to a seed. 

Cheers
 
-----------------
Aaron Morton
Freelance Cassandra Consultant
New Zealand

@aaronmorton
http://www.thelastpickle.com

On 25/06/2013, at 2:43 AM, julien Campan <ju...@gmail.com> wrote:

> Hi ,
> 
> The seeds are only used when a node appears in the cluster. At this moment it chooses a seed (in the same dc) in order to have some information. 
> 
> So, the most secure way is to write all your other nodes as seed, but in fact you need only one up.
> if you think that you will never have 3 node down at the same time , you can put only three nodes.
> 
> 
> Julien Campan
> 
> 
> 2013/6/24 Hiller, Dean <De...@nrel.gov>
> For ease of use, we actually had a single cassandra.yaml deployed to every machine and a script that swapped out the token and listen address.  I had seed nodes ip1,ip2,ip3 as the seeds but what I didn't realize was then that these nodes had themselves as seeds.  I am assuming that should never be done, is that correct.  I really should deploy ip1, ip2, ip3 on all nodes and then for nodes 1, 2, and 3, I should do something like
> 
> ip1 will have ip2, ip3, ip4
> ip2 will have ip1, ip3, ip4
> Etc. etc.
> 
> QUESTION: Would it be ok if I just configured every node to be the 3 ip's after it like this instead as well
> ip1 would have ip2, ip3, ip4
> ip2 would have ip3, ip4, ip5
> ip3 would have ip4, ip5, ip6
> ip4 would have ip5, ip6, ip1
> 
> Is this okay for seed node configuration?
> 
> Thanks,
> Dean
> 
> 


Re: quick question on seed nodes configuration

Posted by julien Campan <ju...@gmail.com>.
Hi ,

The seeds are only used when a node appears in the cluster. At this moment
it chooses a seed (in the same dc) in order to have some information.

So, the most secure way is to write all your other nodes as seed, but in
fact you need only one up.
if you think that you will never have 3 node down at the same time , you
can put only three nodes.


Julien Campan


2013/6/24 Hiller, Dean <De...@nrel.gov>

> For ease of use, we actually had a single cassandra.yaml deployed to every
> machine and a script that swapped out the token and listen address.  I had
> seed nodes ip1,ip2,ip3 as the seeds but what I didn't realize was then that
> these nodes had themselves as seeds.  I am assuming that should never be
> done, is that correct.  I really should deploy ip1, ip2, ip3 on all nodes
> and then for nodes 1, 2, and 3, I should do something like
>
> ip1 will have ip2, ip3, ip4
> ip2 will have ip1, ip3, ip4
> Etc. etc.
>
> QUESTION: Would it be ok if I just configured every node to be the 3 ip's
> after it like this instead as well
> ip1 would have ip2, ip3, ip4
> ip2 would have ip3, ip4, ip5
> ip3 would have ip4, ip5, ip6
> ip4 would have ip5, ip6, ip1
>
> Is this okay for seed node configuration?
>
> Thanks,
> Dean
>
>