You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by shalom sagges <sh...@gmail.com> on 2017/10/24 07:13:34 UTC

Adding a New Node

Hi Everyone,

I have 2 DCs (v2.0.14) with the following topology.properties:

DC1:
xxx11=DC1:RAC1
xxx12=DC1:RAC1
xxx13=DC1:RAC1
xxx14=DC1:RAC1
xxx15=DC1:RAC1


DC2:
yyy11=DC2:RAC1
yyy12=DC2:RAC1
yyy13=DC2:RAC1
yyy14=DC2:RAC1
yyy15=DC2:RAC1


# default for unknown nodes
default=DC1:RAC1

Now let's say that I want to add a new node yyy16 to DC2, and I've added
yyy16 to the topology properties file only on that specific node.

What I saw is that during bootstrap, the new node is receiving data only
from DC2 nodes (which is what I want), but nodetool status on other nodes
shows that it was joining to DC1 (which is the default DC for unknown
nodes).

So I have a few questions on this matter:

1) What are the implications of such a bootstrap, where the joining node
actually gets data from nodes in the right DC, but all nodes see it in the
default DC when running nodetool status?

2) I know that I must change the topology.properties file on all nodes to
be the same. If I do that, do I need to perform a rolling restart on all of
the cluster before each bootstrap (which is a real pain for large clusters)?

3) Regarding the Snitch, the docs say that the recommended snitch in
Production is the GossipingPropertyFileSnitch with
cassandra-rackdc.properties file.
What's the difference between the GossipingPropertyFileSnitchand and the
PropertyFileSnitch?
I currently use PropertyFileSnitch and cassandra-topology.properties.


Thanks!

Re: Adding a New Node

Posted by shalom sagges <sh...@gmail.com>.
Thanks Kurt!

That sorted things in my head. Much appreciated!



On Tue, Oct 24, 2017 at 12:29 PM, kurt greaves <ku...@instaclustr.com> wrote:

> Your node shouldn't show up in DC1 in nodetool status from the other
> nodes, this implies a configuration problem. Sounds like you haven't added
> the new node to all the existing nodes cassandra-topology.properties file.
> You don't need to do a rolling restart with PropertyFileSnitch, it should
> reload the cassandra-topology.properties file automatically every 5 seconds.
>
> With GPFS each node only needs to know about its own topology settings in
> cassandra-rackdc.properties, so the problem you point out in 2 goes away,
> as when adding a node you only need to specify its configuration and that
> will be propagated to the rest of the cluster through gossip.
>
> On 24 October 2017 at 07:13, shalom sagges <sh...@gmail.com> wrote:
>
>> Hi Everyone,
>>
>> I have 2 DCs (v2.0.14) with the following topology.properties:
>>
>> DC1:
>> xxx11=DC1:RAC1
>> xxx12=DC1:RAC1
>> xxx13=DC1:RAC1
>> xxx14=DC1:RAC1
>> xxx15=DC1:RAC1
>>
>>
>> DC2:
>> yyy11=DC2:RAC1
>> yyy12=DC2:RAC1
>> yyy13=DC2:RAC1
>> yyy14=DC2:RAC1
>> yyy15=DC2:RAC1
>>
>>
>> # default for unknown nodes
>> default=DC1:RAC1
>>
>> Now let's say that I want to add a new node yyy16 to DC2, and I've added
>> yyy16 to the topology properties file only on that specific node.
>>
>> What I saw is that during bootstrap, the new node is receiving data only
>> from DC2 nodes (which is what I want), but nodetool status on other nodes
>> shows that it was joining to DC1 (which is the default DC for unknown
>> nodes).
>>
>> So I have a few questions on this matter:
>>
>> 1) What are the implications of such a bootstrap, where the joining node
>> actually gets data from nodes in the right DC, but all nodes see it in the
>> default DC when running nodetool status?
>>
>> 2) I know that I must change the topology.properties file on all nodes to
>> be the same. If I do that, do I need to perform a rolling restart on all of
>> the cluster before each bootstrap (which is a real pain for large clusters)?
>>
>> 3) Regarding the Snitch, the docs say that the recommended snitch in
>> Production is the GossipingPropertyFileSnitch with
>> cassandra-rackdc.properties file.
>> What's the difference between the GossipingPropertyFileSnitchand and the
>> PropertyFileSnitch?
>> I currently use PropertyFileSnitch and cassandra-topology.properties.
>>
>>
>> Thanks!
>>
>>
>>
>>
>>
>>
>

Re: Adding a New Node

Posted by kurt greaves <ku...@instaclustr.com>.
Your node shouldn't show up in DC1 in nodetool status from the other nodes,
this implies a configuration problem. Sounds like you haven't added the new
node to all the existing nodes cassandra-topology.properties file. You
don't need to do a rolling restart with PropertyFileSnitch, it should
reload the cassandra-topology.properties file automatically every 5 seconds.

With GPFS each node only needs to know about its own topology settings in
cassandra-rackdc.properties, so the problem you point out in 2 goes away,
as when adding a node you only need to specify its configuration and that
will be propagated to the rest of the cluster through gossip.

On 24 October 2017 at 07:13, shalom sagges <sh...@gmail.com> wrote:

> Hi Everyone,
>
> I have 2 DCs (v2.0.14) with the following topology.properties:
>
> DC1:
> xxx11=DC1:RAC1
> xxx12=DC1:RAC1
> xxx13=DC1:RAC1
> xxx14=DC1:RAC1
> xxx15=DC1:RAC1
>
>
> DC2:
> yyy11=DC2:RAC1
> yyy12=DC2:RAC1
> yyy13=DC2:RAC1
> yyy14=DC2:RAC1
> yyy15=DC2:RAC1
>
>
> # default for unknown nodes
> default=DC1:RAC1
>
> Now let's say that I want to add a new node yyy16 to DC2, and I've added
> yyy16 to the topology properties file only on that specific node.
>
> What I saw is that during bootstrap, the new node is receiving data only
> from DC2 nodes (which is what I want), but nodetool status on other nodes
> shows that it was joining to DC1 (which is the default DC for unknown
> nodes).
>
> So I have a few questions on this matter:
>
> 1) What are the implications of such a bootstrap, where the joining node
> actually gets data from nodes in the right DC, but all nodes see it in the
> default DC when running nodetool status?
>
> 2) I know that I must change the topology.properties file on all nodes to
> be the same. If I do that, do I need to perform a rolling restart on all of
> the cluster before each bootstrap (which is a real pain for large clusters)?
>
> 3) Regarding the Snitch, the docs say that the recommended snitch in
> Production is the GossipingPropertyFileSnitch with
> cassandra-rackdc.properties file.
> What's the difference between the GossipingPropertyFileSnitchand and the
> PropertyFileSnitch?
> I currently use PropertyFileSnitch and cassandra-topology.properties.
>
>
> Thanks!
>
>
>
>
>
>