Hello,

Let's say we have a 3-node (linux) cassandra 3.7 cluster on GCE (same
probably for EC2). VMs know their private IPs, and also have a public IP.

Nodes were configured according to doc: multiple network interfaces which
in short says to use private IPs for listen_address, public IP for
broadcast_address, and public ip for seeds.

According to the doc above, "Cassandra switches to the private IP after
establishing a connection." but this does not happen, tcpdump shows one end
of traffic to port 7000 is always a public IP.

Using "prefer_local=true" on cassandra-rackdc.properties just makes the
clients try to connect to the private IPs which fails.

All this works, clients connect and nodes see each other, but communication
between nodes happen through their pubic IPs. We want clients to connect to
the public IP, get a list of public IPs as contact points (endpoints) from
the coordinator, but coordinator to forward requests through the private
IPs. Can this be done?










*Spiros Ioannou Infrastructure Lead EngineerinAccesswww.inaccess.com
<http://www.inaccess.com>M: +30 6973-903808W: +30 210-6802-358*

Reply via email to