Gotcha I had forgotten about the gossip piece, that makes sense.

-----Original Message-----
From: Edward Capriolo [mailto:edlinuxg...@gmail.com] 
Sent: Wednesday, February 23, 2011 5:00 PM
To: Truelove, Jeremy: IT (NYK)
Cc: user@cassandra.apache.org
Subject: Re: Multiple Seeds

On Wed, Feb 23, 2011 at 3:28 PM,  <jeremy.truel...@barclayscapital.com> wrote:
> So does cassandra monitor the config file for changes? If it doesn't how else 
> would it know unless you restart you had added a new seed?
>
> -----Original Message-----
> From: Edward Capriolo [mailto:edlinuxg...@gmail.com]
> Sent: Wednesday, February 23, 2011 3:23 PM
> To: user@cassandra.apache.org
> Cc: Truelove, Jeremy: IT (NYK)
> Subject: Re: Multiple Seeds
>
> On Wed, Feb 23, 2011 at 2:59 PM,  <jeremy.truel...@barclayscapital.com> wrote:
>> To add a host to the seeds list after it has had the data streamed to it I
>> need to
>>
>>
>>
>> 1.       stop it
>>
>> 2.       edit the yaml file to
>>
>> a.       include it in the seeds list
>>
>> b.      set auto boostrap to false
>>
>> 3.        restart it
>>
>>
>>
>> correct? Additionally you would need to add it to the other nodes seed lists
>> and restart them as well.
>>
>>
>>
>> From: Eric Gilmore [mailto:e...@datastax.com]
>> Sent: Wednesday, February 23, 2011 2:47 PM
>> To: user@cassandra.apache.org
>> Subject: Re: Multiple Seeds
>>
>>
>>
>> Well -- when you first bring a node into a ring, you will probably want to
>> stream data to it with auto_bootstrap: true.
>>
>> If you want that node to be a seed, then add it to the seeds list AFTER it
>> has joined the ring.
>>
>> I'd refer you to the "Seed List" and "Autoboostrapping" sections of the
>> Getting Started guide, which contain the following blurbs:
>>
>> There is no strict rule to determine which hosts need to be listed as seeds,
>> but all nodes in a cluster need the same seed list. For a production
>> deployment, DataStax recommends two seeds per data center.
>>
>> An autobootstrapping node cannot have itself in the list of seeds nor can it
>> contain an initial_token already claimed by another node. To add new seeds,
>> autobootstrap the nodes first, and then configure them as seeds.
>>
>>
>>
>>
>>
>>
>>
>> On Wed, Feb 23, 2011 at 11:39 AM, <jeremy.truel...@barclayscapital.com>
>> wrote:
>>
>> So all seeds should always be set to 'auto_bootstrap: false' in their .yaml
>> file.
>>
>> -----Original Message-----
>> From: Edward Capriolo [mailto:edlinuxg...@gmail.com]
>> Sent: Wednesday, February 23, 2011 2:36 PM
>> To: user@cassandra.apache.org
>>
>> Cc: Truelove, Jeremy: IT (NYK)
>> Subject: Re: Multiple Seeds
>>
>> On Wed, Feb 23, 2011 at 2:30 PM,  <jeremy.truel...@barclayscapital.com>
>> wrote:
>>> Yeah I set the tokens, I'm more asking if I start the first seed node with
>>> autobootstrap set to false the second seed should have it set to true as
>>> well as all the slave nodes correct? I didn't see this in the docs but I
>>> may
>>> have just missed it.
>>>
>>>
>>>
>>> From: Eric Gilmore [mailto:e...@datastax.com]
>>> Sent: Wednesday, February 23, 2011 2:24 PM
>>> To: user@cassandra.apache.org
>>> Subject: Re: Multiple Seeds
>>>
>>>
>>>
>>> The DataStax documentation offers some answers to those questions in the
>>> Getting Started section and the Clustering reference docs.
>>>
>>> Autobootstrap should be true, but with the important caveat that
>>> intial_token values should be specified.  Have a look at those docs, and
>>> please give feedback on how helpful they are/aren't.
>>>
>>> Regards,
>>>
>>> Eric Gilmore
>>>
>>> On Wed, Feb 23, 2011 at 11:15 AM, <jeremy.truel...@barclayscapital.com>
>>> wrote:
>>>
>>> What's the best way to bring multiple seeds up, should only one of them
>>> have
>>> auto bootstrap set to true or should neither of them? Should they list
>>> themselves and the other seed in their seed section in the yaml config?
>>>
>>> _______________________________________________
>>>
>>>
>>>
>>> This e-mail may contain information that is confidential, privileged or
>>> otherwise protected from disclosure. If you are not an intended recipient
>>> of
>>> this e-mail, do not duplicate or redistribute it by any means. Please
>>> delete
>>> it and any attachments and notify the sender that you have received it in
>>> error. Unless specifically indicated, this e-mail is not an offer to buy
>>> or
>>> sell or a solicitation to buy or sell any securities, investment products
>>> or
>>> other financial product or service, an official confirmation of any
>>> transaction, or an official statement of Barclays. Any views or opinions
>>> presented are solely those of the author and do not necessarily represent
>>> those of Barclays. This e-mail is subject to terms available at the
>>> following link: www.barcap.com/emaildisclaimer. By messaging with Barclays
>>> you consent to the foregoing.  Barclays Capital is the investment banking
>>> division of Barclays Bank PLC, a company registered in England (number
>>> 1026167) with its registered office at 1 Churchill Place, London, E14 5HP.
>>> This email may relate to or be sent from other members of the Barclays
>>> Group.
>>>
>>> _______________________________________________
>>>
>>>
>>
>> If a node is defined as a seeds it will never auto bootstrap. After it
>> has bootstrapped and has a system table you can set its yaml file as a
>> seed if you wish.
>>
>>
>>
>> _______________________________________________
>>
>>
>>
>> This e-mail may contain information that is confidential, privileged or
>> otherwise protected from disclosure. If you are not an intended recipient of
>> this e-mail, do not duplicate or redistribute it by any means. Please delete
>> it and any attachments and notify the sender that you have received it in
>> error. Unless specifically indicated, this e-mail is not an offer to buy or
>> sell or a solicitation to buy or sell any securities, investment products or
>> other financial product or service, an official confirmation of any
>> transaction, or an official statement of Barclays. Any views or opinions
>> presented are solely those of the author and do not necessarily represent
>> those of Barclays. This e-mail is subject to terms available at the
>> following link: www.barcap.com/emaildisclaimer. By messaging with Barclays
>> you consent to the foregoing.  Barclays Capital is the investment banking
>> division of Barclays Bank PLC, a company registered in England (number
>> 1026167) with its registered office at 1 Churchill Place, London, E14 5HP.
>> This email may relate to or be sent from other members of the Barclays
>> Group.
>>
>> _______________________________________________
>
> No. Cassandra nodes use seeds on startup. They startup and try to
> connect to each seed and learn the topology of the cluster. A node
> that is a seed can not use itself thus restarting a seed node has no
> effect.
>
> 1) If you are starting a cluster anew you do not need to bootstrap
> because there is no data. Just pick a few of seeds and restart
> 2) If you want to add a seed to the list bootstrap it first (because
> seeds can not bootstrap), then add it to the seed list, the propagate
> the list to all nodes. It does not involve restarting anything unless
> you want to test that you did not break your configuration file.
>

This does not have to be complicated. Pick two nodes or three nodes as
seed nodes and move on. If you still do not understand at the end of
this email. I suggest you try firing up a test cluster because we are
essentially spinning our tires with this thread.

Last try:
Cassandra does not use multicasting or broadcasting for membership. It
uses a gossip to exchange information about other nodes in the cluster
and there state. Seeds are hand configured INITIAL contact points.
(afterall where would we start looking if not for seeds?) Once a node
learns of other other nodes it no longer requires the seed list. It
now gossips to other nodes it found at random intervals. Thus the
config file does not have to be monitored.

http://io.typepad.com/glossary.html#gls-gossip
http://wiki.apache.org/cassandra/ArchitectureGossip

Reply via email to