Thanks, Shasha.

It looks like there are two ways to make Cassandra work across regions,
changing the source code or using software like Vyatta and VIPs.


++ Changing the source code ++
Milind documents how to change the source code in 0.7.4 but warns that there
are significant limitations to this, which are not really discussed in his
paper. I think some people ran into a problem running nodetool repair after
this change, but it worked fine for others. Also, people worried about
inter-node communication not being encrypted last month, but with the
release of 0.8 this isn't a problem. Are there any other problems we can run
into by changing the source code this way?

How to change source code in 0.7.4:
http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/attachment/6191521/0/CassandraInstancesindifferentregions--EC2%5B1%5D.pdf?by-user=t


+++ Configuring VIPs +++
Shasha documented a method of using Vyatta (vyatta.com) and VIPs to
configure Cassandra across regions. This technique configures a VIP
interface (tunXXX) for each node and sets the listen address as the VIP, so
all inter-node communication occurs over the VPN tunnel. The RPC address is
set to 0.0.0.0 so it listens on all interfaces and does not use the VPN
tunnel.

- This approach seems to be better, but does anyone have instructions for
doing this in EC2 without Vyatta, which is paid software and costs around
$700? We're using Ubuntu 11.04 on EC2 and would prefer to use an open
source, free software vendor.

- Sameer



On Thu, May 5, 2011 at 10:48 PM, Sasha Dolgy <sdo...@gmail.com> wrote:

>
> http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Re-IP-address-resolution-in-MultiDC-setup-EC2-VIP-td6306635.html
> On May 6, 2011 3:07 AM, "Sameer Farooqui" <cassandral...@gmail.com> wrote:
> > 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
>

Reply via email to