You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by "Lu, Boying" <Bo...@emc.com> on 2014/04/29 03:57:16 UTC

Can the seeds list be changed at runtime?

Hi, All,

I wonder if I can change the seeds list at runtime. i.e. without change the yaml file and restart DB service?

Thanks

Boying


RE: Can the seeds list be changed at runtime?

Posted by Arindam Barua <ab...@247-inc.com>.
>> For new nodes that you want to bootstrap into the cluster you can specify any nodes you wish.

Note that you want to keep your seed list consistent across your cluster though.

From: Mark Reddy [mailto:mark.reddy@boxever.com]
Sent: Tuesday, April 29, 2014 2:26 AM
To: user@cassandra.apache.org
Subject: Re: Can the seeds list be changed at runtime?

Hi Boying,

From Datastax documentation: http://www.datastax.com/documentation/cassandra/1.2/cassandra/architecture/architectureGossipAbout_c.html
The seed node designation has no purpose other than bootstrapping the gossip process for new nodes joining the cluster. Seed nodes are not a single point of failure, nor do they have any other special purpose in cluster operations beyond the bootstrapping of nodes.

For this reason you can change the seed list on existing node at any time, as the node itself will already be aware of the cluster and would not need to rely on the seed list to join. For new nodes that you want to bootstrap into the cluster you can specify any nodes you wish.


Mark

On Tue, Apr 29, 2014 at 2:57 AM, Lu, Boying <Bo...@emc.com>> wrote:
Hi, All,

I wonder if I can change the seeds list at runtime. i.e. without change the yaml file and restart DB service?

Thanks

Boying



Re: Can the seeds list be changed at runtime?

Posted by Mark Reddy <ma...@boxever.com>.
Hi Boying,

>From Datastax documentation:
http://www.datastax.com/documentation/cassandra/1.2/cassandra/architecture/architectureGossipAbout_c.html

> The seed node designation has no purpose other than bootstrapping the
> gossip process for new nodes joining the cluster. Seed nodes are not a
> single point of failure, nor do they have any other special purpose in
> cluster operations beyond the bootstrapping of nodes.
>

For this reason you can change the seed list on existing node at any time,
as the node itself will already be aware of the cluster and would not need
to rely on the seed list to join. For new nodes that you want to bootstrap
into the cluster you can specify any nodes you wish.


Mark


On Tue, Apr 29, 2014 at 2:57 AM, Lu, Boying <Bo...@emc.com> wrote:

> Hi, All,
>
>
>
> I wonder if I can change the seeds list at runtime. i.e. without change
> the yaml file and restart DB service?
>
>
>
> Thanks
>
>
>
> Boying
>
>
>

Re: Can the seeds list be changed at runtime?

Posted by Robert Coli <rc...@eventbrite.com>.
On Mon, Apr 28, 2014 at 6:57 PM, Lu, Boying <Bo...@emc.com> wrote:

> I wonder if I can change the seeds list at runtime. i.e. without change
> the yaml file and restart DB service?
>

There are dynamic seed providers, Priam for example uses one.

https://issues.apache.org/jira/browse/CASSANDRA-5836

Is a JIRA about the current confusion of the yaml based seed list and what
it means to be a seed, specifically in the context of bootstrapping.

There is a trivial case that illustrates why seed lists need to be dynamic :

1) 3 node cluster, A B C, RF=1.
2) A is a seed, started first. B starts second, C starts third.
3) A and B fail. C does not fail.
4) A and B now have no seed to bootstrap from. C does not consider itself a
seed in its own seed list.
5) C no longer has a node it gossips to once a gossip round, which is one
of the only other seed related difference.

Of course in practice you can just remove A from its own seed list and put
C in A's bootstrap list and bootstrap it. But really what you "should" do
is make C the seed in a dynamic seed provider.

Datastax said :


> The seed node designation has no purpose other than bootstrapping the
> gossip process for new nodes joining the cluster. Seed nodes are not a
> single point of failure, nor do they have any other special purpose in
> cluster operations beyond the bootstrapping of nodes.
>

Seed nodes are also gossiped to once per round, which some might argue
makes them "special".

=Rob