incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aaron morton <aa...@thelastpickle.com>
Subject Re: How to add new DC to cluster when GossipingPropertyFileSnitch is used
Date Fri, 17 May 2013 18:41:32 GMT
> But I've read in some sources (for example http://www.datastax.com/docs/1.0/initialize/cluster_init_multi_dc)
that seed list MUST include at least one seed from each DC and seed lists should be the same
for each node.

That article is about creating a new cluster, to add an a DC to an exiting cluster do this:

* set the seed list in the new DC to have seeds from both DC's
* update the seed list in the old DC to have seeds from both later. 

Adding a new DC will normally not happen as often as adding nodes. 

Using the GossipingPropertyFileSnitch means do you not not have to update all nodes when adding
a new one. 

Cheers


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

@aaronmorton
http://www.thelastpickle.com

On 17/05/2013, at 8:42 PM, Igor <igor@4friends.od.ua> wrote:

> On 05/17/2013 11:19 AM, Sergey Naumov wrote:
>> But I've read in some sources (for example http://www.datastax.com/docs/1.0/initialize/cluster_init_multi_dc)
that seed list MUST include at least one seed from each DC and seed lists should be the same
for each node.
>> 
>> Or it is fine if nodes from new DC have all seeds specified and nodes from old DCs
have all seeds specified except seeds from new DC? In such interpretation rules have to be
a bit modified:
> 
> I never have problems with adding new nodes and new DC having single seed per cluster
in one old DC.
> 
>> 1. Nodes from the same DC should have identical seeds lists.
>> 2. At least at one DC nodes MUST have in its seed lists seeds from all other DCs.
>> 
>> 
>> 2013/5/17 Igor <igor@4friends.od.ua>
>> I see no reason to restart all nodes. You can continue to use seed from first DC
- seed used for loading ring configuration(locations, token ranges, etc), not data. 
>> 
>> On 05/17/2013 10:34 AM, Sergey Naumov wrote:
>>> If I understand you correctly, GossipingPropertyFileSnitch is useful for manipulations
with nodes within a single DC, but to add a new DC without having to restart every node in
all DCs (because seeds are specified in cassandra.yaml and I need to restart a node after
addition of a new seed from newly created DC), I anyway have to use cassandra-topology.properties
and edit it on every node of a cluster.
>>> 
>>> By the way, it it necessary to specify seeds if I use PropertyFileSnitch and
there is info in cassandra-topology.properties about all nodes of a cluster?
>>> 
>> 
>> Yes, it is. Cassandra need seed(s), because topology properties have no info about
token ranges.
>> 
>> 
>>> 
>>> 2013/5/17 aaron morton <aaron@thelastpickle.com>
>>> You should configure the seeds as recommended regardless of the snitch used.
>>> 
>>> You need to update the yaml file to start using the GossipingPropertyFileSnitch
but after that it reads the cassandra-rackdc.properties file to get information about the
node. It reads uses the information in gossip to get information about the other nodes in
the cluster.
>>> 
>>> If there is no info in gossip about a remote node, because say it has not been
upgraded, it will fall back to using cassandra-topology.properties.
>>> 
>>> Hope that helps.
>>> 
>>> -----------------
>>> Aaron Morton
>>> Freelance Cassandra Consultant
>>> New Zealand
>>> 
>>> @aaronmorton
>>> http://www.thelastpickle.com
>>> 
>>> On 15/05/2013, at 8:10 PM, Sergey Naumov <sknaumov@gmail.com> wrote:
>>> 
>>> > As far as I understand, GossipingPropertyFileSnitch supposed to provide
more flexibility in nodes addition/removal. But what about addition of a DC? In datastax documentation
(http://www.datastax.com/docs/1.2/operations/add_replace_nodes#add-dc) it is said that cassandra-topology.properties
could be updated without restart for PropertyFileSnitch. But here (http://www.datastax.com/docs/1.0/initialize/cluster_init_multi_dc)
it it said, that "you MUST include at least one node from EACH data center. It is a best practice
to have at more than one seed node per data center and the seed list should be the same for
each node". At the first glance it seems that PropertyFileSnitch will get necessary info from
cassandra-topology.properties, but for GossipingPropertyFileSnitch modification of cassandra.yaml
and restart of all nodes in all DCs will be required. Could somebody clarify this topic?
>>> >
>>> > Thanks in advance,
>>> > Sergey Naumov.
>>> 
>>> 
>> 
>> 
> 


Mime
View raw message