We're trying to set up a Cassandra 0.8.0beta1 cluster across Amazon East & West regions. It does not work out of the box with the binaries and the nodes in different regions end up setting this own clusters.
The problem is with Cassandra's Listening Address as described by Rui: "Using external IP causes Binding exception, because Cassandra, and java socket, cannot listen on the external IP, which does not belong to this node. Using private IP prevents nodes in other region from connecting back to this node with the private IP, which has been sent to other nodes for cluster establishing." In Feb 2011, Peter Fales posted: "... the trick is that you have must use the "external" addresses in your storage-conf.xml, but since you don't have a NIC that can actually bind to those addresses, you need to listen on the "internal" addresses (or, more simply, all interfaces). At the time, I was not able to get the cross-region cluster to work without making changes to the Cassandra code. Perhaps things have evolved so that there are other ways to do it now." Does anyone know if Cassandra 0.8 can be configured to run in multiple Amazon regions without modifying the source code? And if not, has anybody successfully done this with the 0.8 source code and shared the technique? After some research we found that other people have also ran into this issue with versions 0.6.x and 0.7.x of Cassandra: Fix for 0.6.5 by Peter Fales in Sept 2010: http://www.mail-archive.com/dev@cassandra.apache.org/msg01832.html http://www.mail-archive.com/user@cassandra.apache.org/msg05692.html Fix for 0.7 by Rui: http://rliu09.wordpress.com/2011/04/23/cassandra-across-ec2-regions/ - Sameer Accenture Technology Labs