You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by sahriar rahman supto <su...@live.com> on 2016/06/06 07:27:18 UTC

Help regarding cassandra node networking..

I'm creating a cassandra cluster. I've three node with centos 7 and cassandra 3.4 installed.

Node0 interfaces:
eth0 169.254.169.xx1 (Public IP)
eth1 192.168.56.101(Private IP)

Node1 interfaces:
eth0 169.254.169.xx2 (Public IP)
eth1 192.168.56.102(Private IP)

Node2 interfaces:
eth0 169.254.169.xx3 (Public IP)
eth1 192.168.56.103(Private IP)


I'm using node0 as seeder. My cassandra.yaml Configuration files for each of the nodes are as follows:

Node0:
cluster_name: 'DB Cluster'
seeds: "162.253.42.xx1"
listen_address: 162.253.42.xx1
rpc_address: 162.253.42.xx1
endpoint_snitch: GossipingPropertyFileSnitch

Node1:
cluster_name: 'DB Cluster'
seeds: "162.253.42.xx1"
listen_address: 162.253.42.xx2
rpc_address: 162.253.42.xx2
endpoint_snitch: GossipingPropertyFileSnitch

Node2:
cluster_name: 'DB Cluster'
seeds: "162.253.42.xx1"
listen_address: 162.253.42.xx3
rpc_address: 162.253.42.xx3
endpoint_snitch: GossipingPropertyFileSnitch


Then my cassandra cluster started and running smoothly.

Now my requirement is to configure it into private network. Suppose Only one of my node (seeder) has public ip and the rest of the nodes are connected with private ip only. Then how to configure it??

Node0 interfaces:
eth0 169.254.169.xx1 (Public IP)
eth1 192.168.56.101(Private IP)

Node1 interfaces:
eth0 192.168.56.102(Private IP)

Node2 interfaces:
eth0 192.168.56.103(Private IP)


I want to use the node0 as seeder and use the public ip so that i can access it remotely and can join with other Datacenter nodes later time. But my rest of the nodes should not have any public interfaces. Now how to configure it?


Re: Help regarding cassandra node networking..

Posted by Alain RODRIGUEZ <ar...@gmail.com>.
Hi,

A few comments as I read:


> I'm using node0 as seeder


It is recommended to use at least 2 nodes per DC as seeds, for fault
tolerance and good gossip propagation.

Also I think you are a bit confused about what a seed node is and is not.
See:
https://docs.datastax.com/en/cassandra/2.1/cassandra/architecture/architectureGossipAbout_c.html

I want to use the node0 as seeder and use the public ip so that i can
> access it remotely and can join with other Datacenter nodes later time. But
> my rest of the nodes should not have any public interfaces. Now how to
> configure it?


This does not look right to me. All the nodes must receive the same
operational care. It is a lot easier to reason about an homogeneous cluster
and I do not recommend this kind of approaches at all.

To use public IP on a node, set the broadcast_address to public IP, and
make sure ports are open on whatever IP address you are trying to connect
to.

Sorry for the month delay, hope this is still useful.

C*heers,
-----------------------
Alain Rodriguez - alain@thelastpickle.com
France

The Last Pickle - Apache Cassandra Consulting
http://www.thelastpickle.com

2016-06-06 9:27 GMT+02:00 sahriar rahman supto <su...@live.com>:

> I'm creating a cassandra cluster. I've three node with centos 7 and
> cassandra 3.4 installed.
>
> Node0 interfaces:
> eth0 169.254.169.xx1 (Public IP)
> eth1 192.168.56.101(Private IP)
>
> Node1 interfaces:
> eth0 169.254.169.xx2 (Public IP)
> eth1 192.168.56.102(Private IP)
>
> Node2 interfaces:
> eth0 169.254.169.xx3 (Public IP)
> eth1 192.168.56.103(Private IP)
>
> I'm using node0 as seeder. My cassandra.yaml Configuration files for each
> of the nodes are as follows:
>
> Node0:
> cluster_name: 'DB Cluster'
> seeds: "162.253.42.xx1"
> listen_address: 162.253.42.xx1
> rpc_address: 162.253.42.xx1
> endpoint_snitch: GossipingPropertyFileSnitch
>
> Node1:
> cluster_name: 'DB Cluster'
> seeds: "162.253.42.xx1"
> listen_address: 162.253.42.xx2
> rpc_address: 162.253.42.xx2
> endpoint_snitch: GossipingPropertyFileSnitch
>
> Node2:
> cluster_name: 'DB Cluster'
> seeds: "162.253.42.xx1"
> listen_address: 162.253.42.xx3
> rpc_address: 162.253.42.xx3
> endpoint_snitch: GossipingPropertyFileSnitch
>
> Then my cassandra cluster started and running smoothly.
>
> Now my requirement is to configure it into private network. Suppose Only
> one of my node (seeder) has public ip and the rest of the nodes are
> connected with private ip only. Then how to configure it??
>
> Node0 interfaces:
> eth0 169.254.169.xx1 (Public IP)
> eth1 192.168.56.101(Private IP)
>
> Node1 interfaces:
> eth0 192.168.56.102(Private IP)
>
> Node2 interfaces:
> eth0 192.168.56.103(Private IP)
>
> I want to use the node0 as seeder and use the public ip so that i can
> access it remotely and can join with other Datacenter nodes later time. But
> my rest of the nodes should not have any public interfaces. Now how to
> configure it?
>
>