You’re free to supply your own Seed Provider.  The Seed provider that comes with cassandra needs hard coded IPs, but there’s no reason why it has to be that way.  

There’s a handful of ideas here:

Feel free to experiment, and good luck.

On May 2, 2017, at 6:48 PM, Roman Naumenko <> wrote:

Service discovery (aka "note some IPs") should be part of the cluster bootstrapping and management.

See for example how elastic is doing this. Or consul. Its pretty standard practice these days.


On Tue, May 2, 2017 at 5:08 PM Steve Robenalt <> wrote:
Hi Roman,

I'm assuming you were intending your first statement to be in jest, but it's really not that hard to startup a Cassandra cluster. The defaults are pretty usable, so if all you want to do is set the IPs and start it up, the cluster probably will just take care of everything else.

So I jest a little bit too. It's normally desirable to set up storage properly for your database, and there's a few options for which you might want to change the defaults, such as the snitch. 

Still, if that means you only need to take note of of a couple of IPs and designate them as seeds so your cluster can mostly manage itself, you can say that's sad, but I'd say it's a small price to pay for all that you don't have to do.


On Mon, May 1, 2017 at 4:55 PM, Roman Naumenko <> wrote:
Lol yeah, why 
I guess I run some ec2 instances, drop some cassandra deb packages on 'em - the thing will figure out how to run...

Also, how would you get "initial state of the cluster" if the cluster... is being initialized? 
Or that's easy, according to the docs - just hardcode some seed IPs into each node, lol

It's all kinda funny, but in a sad way.

On Mon, May 1, 2017 at 4:45 PM, Jon Haddad <> wrote:
Why do you have to figure out what’s up w/ them by accident?  You’ve gotten all the information you need.  Seeds are used to get the initial state of the cluster and as an optimization to spread gossip faster.  That’s it.  

On May 1, 2017, at 4:37 PM, Roman Naumenko <> wrote:

Well, I guess I have to figure out what’s up with IPs/hostnames by experiment.
Information about service discovery is practically absent.
Not to mention all important details about fqdns/hostnames, automatic replacing seed nodes or what not. 


On May 1, 2017, at 4:14 PM, Jon Haddad <> wrote:

The in-tree docs do not mention this anywhere, and even have some of the answers you’re asking:

The DataStax docs are maintained outside of the project, you’ll have to ask them why they’re wrong or misleading.


On May 1, 2017, at 4:10 PM, Roman Naumenko <> wrote:

The docs mention IP addresses everywhere.

Promote an existing node to a seed node by adding its IP address to -seeds list and remove (demote) the IP address of the dead seed node from the cassandra.yaml file for each node in the cluster.

Note the Address of the dead node; it is used in step 5.

Properties to set:
num_tokens: recommended value: 256
-seeds: internal IP address of each seed node

I saw also hostnames mentioned few times, but it just makes it even more confusing.


On May 1, 2017, at 3:50 PM, Jon Haddad <> wrote:

Sure, you could use DNS.  Where does it say IP addresses are a requirement?

On May 1, 2017, at 1:36 PM, Roman Naumenko <> wrote:

If I understand how Cassandra nodes work, they must contain a list of seed’s IP addressed in config file.

This requirement makes cluster setup unnecessarily complicated. Is it possible to use DNS name for seed nodes?


To unsubscribe, e-mail:
For additional commands, e-mail: