Jana created CASSANDRA-8084:
-------------------------------
Summary: GossipFilePropertySnitch and EC2MultiRegionSnitch when
used in AWS/GCE clusters doesnt use the PRIVATE IPS for Intra-DC communications
- example for nodetool repair communications
Key: CASSANDRA-8084
URL: https://issues.apache.org/jira/browse/CASSANDRA-8084
Project: Cassandra
Issue Type: Bug
Components: Config
Environment: Tested this in GCE and AWS clusters. Created multi region
and multi dc cluster once in GCE and once in AWS and ran into the same problem.
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.3 LTS"
NAME="Ubuntu"
VERSION="12.04.3 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.3 LTS)"
VERSION_ID="12.04"
Tried to install Apache Cassandra version ReleaseVersion: 2.0.10 and also
latest DSE version which is 4.5 and which corresponds to 2.0.8.39.
Reporter: Jana
Fix For: 2.0.10
Neither of these snitches(GossipFilePropertySnitch and EC2MultiRegionSnitch )
used the PRIVATE IPS for communication between INTRA-DC nodes in my
multi-region multi-dc cluster in cloud(on both AWS and GCE).
Here are the various cluster flavors I tried and failed-
AWS + Multi-REGION + Multi-DC + GossipPropertyFileSnitch + (Prefer_local=true)
in rackdc-properties file.
AWS + Multi-REGION + Multi-DC + EC2MultiRegionSnitch + (Prefer_local=true) in
rackdc-properties file.
GCE + Multi-REGION + Multi-DC + GossipPropertyFileSnitch + (Prefer_local=true)
in rackdc-properties file.
GCE + Multi-REGION + Multi-DC + EC2MultiRegionSnitch + (Prefer_local=true) in
rackdc-properties file.
I am expecting with the above setup all of my nodes in a given DC all
communicate via private ips since the cloud providers dont charge us for using
the private ips and they charge for using public ips.
But they can use PUBLIC IPs for INTER-DC communications which is working as
expected.
Here is a snippet from my log files when I ran the "nodetool repair -local" -
Node responding to 'node running repair'
INFO [AntiEntropyStage:1] 2014-10-08 14:47:51,628 Validator.java (line 254)
[repair #1439f290-4efa-11e4-bf3a-df845ecf54f8] Sending completed merkle tree to
/54.172.118.222 for system_traces/sessions
INFO [AntiEntropyStage:1] 2014-10-08 14:47:51,741 Validator.java (line 254)
[repair #1439f290-4efa-11e4-bf3a-df845ecf54f8] Sending completed merkle tree to
/54.172.118.222 for system_traces/events
Node running repair -
INFO [AntiEntropyStage:1] 2014-10-08 14:47:51,927 RepairSession.java (line 166)
[repair #1439f290-4efa-11e4-bf3a-df845ecf54f8] Received merkle tree for events
from /54.172.118.222
Note: The IPs its communicating is all PUBLIC Ips and it should have used the
PRIVATE IPs starting with 172.x.x.x
YAML file values :
The listen address is set to: PRIVATE IP
The broadcast address is set to: PUBLIC IP
The SEEDs address is set to: PUBLIC IPs from both DCs
The SNITCHES tried: GPFS and EC2MultiRegionSnitch
RACK-DC: Had prefer_local set to true.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)