I am trying to spin up a new node using cassandra 2.0.7. Both nodes are at Digital Ocean. The seed node is up and running and I can telnet to port 7000 on that host from the
Ok, after spending a whole day at this, I eventually found the #cassandra IRC channel on freenode. (that's my first advice, go there, regularly)
The issue that you're experiencing is most likely (and was, in my case) what's called a 'chicken and the egg' problem. Chicken and the egg: Node 1: seeds=node2 Node 2: seeds=node1
Neither node can boot properly, because there's no seed node that's fully booted at.. boot time.
To solve this, just set: Node 1: seeds = node1,node2 Node 2: seeds = node2.
Now, node1 will boot. Node 2 will eventually boot as well..
Voila.
Check the Fire wall : Port setting in the new node
http://www.datastax.com/documentation/cassandra/2.0/cassandra/security/secureFireWall_r.html
The real issue here is that you're attempting to spin up Cassandra with no data and auto_bootstrap
enabled on all nodes.
To JRun's point "chicken and egg" is really a "I'm trying to auto bootstrap nodes with no nodes to tell it what to do" situation.
You need to disable auto_bootstrap
in your cassandra.yaml
file on one of the nodes (preferably a seed).
Please see: DataStax Cassandra 2.1 Documentation
Specifically: auto_bootstrap: false (Add this setting only when initializing a fresh cluster with no data.)
So, to resolve this... Simply modify your cassandra.yaml
file similar to the below example:
Three Node C* Cluster WITH NO DATA
IP Address Info:
Originally Designated Seeds:
Node 1 (192.168.1.10) / Node 3 (192.168.1.12)
cassandra.yaml
-> - seeds: "192.168.1.10,192.168.1.12"
auto_bootstrap
is enabled by default
Newly Designated Seed: Node 3 (192.168.1.12)
**Make this change on all three nodes: **
cassandra.yaml
-> - seeds: "192.168.1.12"
Make this change on the seed node, in addition to the above
cassandra.yaml
-> auto_bootstrap: false
(More than likely, the auto_bootstrap
entry won't exist, so go ahead and throw it in the yaml somewhere).
After making the above changes, restart all of the cassandra processes.
You should be fine, once they all fully start up and you'll be able to go back and adjust your seeds the way you'd like!
I faced the same problem and solved it by JRun's method explained above. But originally it didn't because I have set the seed node as 127.0.0.1. later I changed it to my interface ip address and solve the problem. I had to set same IPs which used as listen address and rpc address.