After more investigation, as well as a bunch of trial and error, here's what
seems to be happening.

1. The rack.properties file key values (the stuff before the =) must match
the toString() method of the InetAddress object for the host.
2. (In EC2) the InetAddress of a node *other* than the one you are on will
have no hostname, but will have an IP address.
3. (In EC2) the InetAddress of the node on which the rack.properties is read
will be the internal name + '/' + IP address.

So, the solution that *appears* to work for EC2 (without touching DNS) is to
have 2 lines in the rack.properties file for each host:


/10.196.35.64=DC1:RAC1
ip-10-196-35-64.ec2.internal/10.196.35.64=DC1:RAC1

The first line is used by the *other* nodes in the cluster to identify this
server as belonging to DC1 and RAC1.  The second line is used by *this*
 node to identify itself as in DC1 and RAC1.

I've not yet proven to myself that this is accurate, but it definitely stops
the error messages and , from looking at the code, seems like it should
work.

Is this correct?

Thanks
Dave Viner


On Wed, Jul 7, 2010 at 6:22 PM, Eric Evans <eev...@rackspace.com> wrote:

>
> Let's move this to the user@ list...
>
> On Wed, 2010-07-07 at 16:32 -0700, Dave Viner wrote:
>
> > After starting up my cluster, I see this one of the system.log :
> >
> >
> > ERROR [GMFD:1] 2010-07-07 23:27:46,044 PropertyFileEndPointSnitch.java
> > (line 91) Could not find end point information for /10.202.159.32,
> > will use default.
> >
> >
> > However, I definitely have that IP listed in
> > the /etc/cassandra/rack.properties file on that machine:
> >
> >
> > # grep "10.202.159.32" /etc/cassandra/rack.properties
> > 10.202.159.32\:7000=DC1:RAC1
> > #
> >
> >
> > The \:7000 is from the sample file and description
> > at
> http://svn.apache.org/repos/asf/cassandra/tags/cassandra-0.6.3/contrib/property_snitch/README.txt
> .
> >
> >
> > Is there some other format I should be using?
>
>
> --
> Eric Evans
> eev...@rackspace.com
>
>

Reply via email to