-1

For Multiple datacenter Cassandra cluster deployment Do i need public ip for every nodes? Suppose i've architecture as follows:

Datacenter US
Node1: 
eth0 =162.63.93.45 (public ip)
eth1= 192.168.56.101(private ip)

Node2: 
eth0= 192.168.56.102(private ip)

Node3: 
eth0= 192.168.56.103(private ip)

Node4: 
eth0= 192.168.56.104(private ip)

Datacenter EU
Node1: 
eth0 =180.98.100.87 (public ip)
eth1= 192.168.56.101(private ip)

Node2: 
eth0= 192.168.56.102(private ip)

Node3: 
eth0= 192.168.56.103(private ip)

Node4: 
eth0= 192.168.56.104(private ip)

Now my question is, is it possible to setup cassandra cluster on this type of architecture? or i need public ip interface for every node??

wind
  • 99
  • 3
  • You don't explain how the servers within the same datacenter and between datacenter are communicating between each others, That's necessary to provide any help. You need to explain what the public IP is necessary – Baptiste Mille-Mathias Aug 08 '16 at 08:32

1 Answers1

0

When you setup a multi-datacenter Cassandra cluster, one of the requirement is that all nodes from all datacenters can communicated between each-other. I have not all the required information but from what I seen you use the same private subnet on the two datacenter, so it will be problematic because they're conflicting.

Public address is not necessary when it comes to make computer communicating between datacenters, this is expensive (at least for IPv4) and can be dangerous as your computers' address is directly accessible from Internet (well, IPv6'll make all your computer directly accessible :).

So now you have several possibilities:

  • Change one to the site computer's private ip address and make the subnet communicates (with a cross-DC VPN or a routing set on your gateway)
  • Add a new specific interface to your server to permits them to communicate them (again with a VPN or a routing rule on the net). Or using IPv6 address could be also a solution but make sure your cassandra version is new enough to support that.

You'll need to configure also the listen_address cassandra parameter accordingly