Cassandra Datastax Enterprise Using Amazon Elastic IP

I would like to run Cassandra Datastax Enterprise on Amazon EC2 instances using not Elast IP address, but Elastic Public IPs

My current configuration is as follows:

/etc/dse/cassandra/cassandra.yaml seed_provider: - class_name: org.apache.cassandra.locator.SimpleSeedProvider parameters: seeds: "publicIP" listen_address: "publicIP" endpoint_snitch:Ec2Snitch rpc_address: "publicIP" 

The dse service does not start correctly.

/var/log/cassandra/system.log displays the following error:

org.apache.cassandra.exceptions.ConfigurationException: Unable to bind to address /<publicIP>:7000. Set listen_address in cassandra.yaml to an interface you can bind to, eg, your private IP address on EC2

I also tried changing broadcast_address to point to the public IP, but it does not work.

Is there a way to start the dse service (Cassandra) in such a way that it uses elastic IP addresses and not private EC2 IP codes?

+7
cassandra amazon-web-services datastax datastax-enterprise
source share
2 answers

Not a new question here, but look at your config, make these changes.

 listen_address: private_ip broadcast_address: public_ip rpc_address: 0.0.0.0 

Seeds must be public_ip for you to be there.

+6
source share

Three addresses are available in Cassandra.yaml

  • Listen to the address . This is the ip address that other Cassandra nodes will use to talk to this node. You want this to be your AWS internal IP address for performance.

  • RPC Address This is the address that your client connects to, possibly the one you want to configure to match your AWS external address if your client is not in AWS or in the same AWS.

  • Broadcast Address If you use multiple data centers or AWS regions where not all nodes have access to each other through an internal IP address. You can specify an external IP address for nodes in different data centers that can still talk to each other. In many cases, you do not need this setting at all, by default your listening address will be indicated.

I think the answer to your question is the RPC address for connecting to C * from your client using an external / flexible AWS IP. You may leave the broadcast address not configured.

Does it help?

+8
source share

All Articles