How can I run 3 cassandra nodes (actually a cluster) from my Ubuntu? I don't want to create 3 instances of VMWare/VirtualBox but instead, configure each cassandra node to listen to a different port. Is that possible with one cassandra installation?
A solution that came to my mind is to have 3 local cassandra installation and configure each cassandra.yaml independently but actually I would prefer to have achieve that by my installed cassandra configuration files.
I need such configuration only for testing purposes, obviously.
As we said earlier, each instance of Cassandra has evolved to contain 256 virtual nodes. The Cassandra server runs core processes. For example, processes like spreading replicas around nodes or routing requests.
In most cases, you'll want to operate with strong consistency and so need at least 3 nodes. This allows your Cassandra service to continue uninterrupted if you suffer a hardware failure or some other loss of the Cassandra service on a single node (this will happen sooner or later).
Check this Cassandra Cluster Manager on github https://github.com/pcmanus/ccm
(link is to script that configures multiple Cassandras to listen on different localhost interfaces 127.0.0.1, 127.0.0.2, 127.0.0.3)
I guess it would be possible if you had 3 copy of the program, 3 different configurations where every port is different, and you'd have to exclude those ports from the possible connection sockets.
Edit I don't understand the downvotes. This is actually the simplest way to do it, have one set of binaries and create a set of conf and yaml files for each of your nodes, then use one launch script for each of the local nodes you want.
Example : Machine 1 on 7199, Machine 2 on 7200, Machine 3 on 7201 and so forth. Use aliases for your localhost IP, 127.0.0.2, .3, .4 etc
Nodetool ring will work as intended, and show you a cluster, only all of them will be with the same root IP.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With